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");
        }
    }
  • 相关阅读:
    Module build failed: TypeError: this.getResolve is not a function 安装node-sass运行报错
    RMAN Catalog 和 Nocatalog 的区别
    oracle 闪回区故障
    mysql windows 安装 错误
    git rejected
    oracle 计算机改名后监听无法启动
    mysql GTID
    java程序员技术范围
    activiti
    spring mybatis mysql 事务不起作用
  • 原文地址:https://www.cnblogs.com/yshyee/p/6575895.html
Copyright © 2011-2022 走看看