- public class MongoDBUtil {
- //唯一的Mongo实例
- private Mongo mongo;
- //采用单例模式
- private MongoDBUtil(){}
- private static class InnerHolder{
- static final MongoDBUtil INSTANCE = new MongoDBUtil();
- }
- public static MongoDBUtil getInstance(){
- return InnerHolder.INSTANCE;
- }
- /**
- * 初始化Mongodb连接
- * @throws UnknownHostException
- * @throws MongoException
- */
- public void init() throws UnknownHostException, MongoException{
- int poolSize = ConfigUtil.getInstance().getPoolSize(); //从配置文件中读取连接个数
- if(poolSize == -1){
- poolSize = 10000;
- }
- System.setProperty("MONGO.POOLSIZE", String.valueOf(poolSize));
- if(this.mongo == null){
- //System.out.println("1st init Mongo instance"); //mongo实例仅实例化一次
- //从配置文件中读取服务器地址及端口号
- String serverIp = ConfigUtil.getInstance().getServerIP();
- int portNum = ConfigUtil.getInstance().getPortNum();
- mongo = new Mongo(serverIp, portNum);
- MongoOptions options = mongo.getMongoOptions();
- options.autoConnectRetry = true;
- options.connectionsPerHost = poolSize;
- }
- }
- /**
- * 获取DB实例
- * @param dbName
- * @return
- */
- public DB getDB(String dbName){
- if(dbName != null && !dbName.equals("")){
- return this.mongo.getDB(dbName);
- }else{
- return null;
- }
- }
- /**
- * 关闭Mongodb
- */
- public void close(){
- if(this.mongo != null){
- this.mongo.close();
- this.mongo = null;
- }
- }
- }
Mongodb连接方法学习
最新推荐文章于 2023-08-30 09:16:57 发布