zoukankan      html  css  js  c++  java
  • MongodbUtil

    import com.mongodb.MongoClient;
    import com.mongodb.MongoClientOptions;
    import com.mongodb.MongoClientURI;
    import com.mongodb.MongoCredential;
    import com.mongodb.MongoOptions;
    import com.mongodb.ServerAddress;
    import com.mongodb.client.MongoDatabase;
    import java.util.Arrays;
    
    
    /**
     * @作者 yan
     * @创建日期 2017-3-16 14:42:20
     * @版本 V1.0
     * @描述 MongoDB JDBC工具类
     */
    public class MongodbUtil {
    
        private static MongoClient mongoClient = null;
    
        private MongodbUtil() {}
    
        static {
            if(PropertiesUtil.getInt("mongodb.auth")==1){
                initAuthDB();
            }else{
                initDB();
            }
        }
    
        public static MongoDatabase getDB() {
            if (null != mongoClient) {
                setOptions();
                
                return mongoClient.getDatabase(PropertiesUtil.getString("mongodb.dbname"));  
            }
            
            return null;
        }
        
        /**
         * 无认证链接
         */
        private static void initDB() {
            MongoClientURI uri = new MongoClientURI(
                    PropertiesUtil.getString("mongodb.uri"),
                    MongoClientOptions.builder().cursorFinalizerEnabled(false));
            
            mongoClient = new MongoClient(uri);  
        }
        
        /**
         * 认证链接
         */
        private static void initAuthDB(){
            MongoCredential credential = MongoCredential.createCredential(
                    PropertiesUtil.getString("mongodb.user"), 
                    PropertiesUtil.getString("mongodb.dbname"), 
                    PropertiesUtil.getString("mongodb.pwd").toCharArray());  
            
            ServerAddress addr = new ServerAddress(
                    PropertiesUtil.getString("mongodb.host"), 
                    PropertiesUtil.getInt("mongodb.port"));  
            
            mongoClient = new MongoClient(addr,Arrays.asList(credential));  
        }
        
        /**
         * 连接池配置
         */
        private static void setOptions(){
            MongoOptions opt = mongoClient.getMongoOptions();  
            opt.connectionsPerHost = PropertiesUtil.getInt("mongodb.poolsize");  
            opt.threadsAllowedToBlockForConnectionMultiplier = PropertiesUtil.getInt("mongodb.blocksize");
        }
    }
  • 相关阅读:
    Android 摇一摇之双甩功能
    Android 上千张图片的列表滑动加载
    Android 新手引导
    Android 自定义列表指示器
    Mininet的安装与卸载
    ubuntu装机必备
    linux系统中利用vagrant创建虚拟开发环境
    Ubuntu右键添加:open in terminal
    ryu启动问题总结
    新建WORD文档打开会出现转换文件对话框3步解决办法
  • 原文地址:https://www.cnblogs.com/yshyee/p/6575895.html
Copyright © 2011-2022 走看看