/** * Method invoked when a {@link MongoSession} needs to be created. * * @param username the username to use for authentication. NOTE: Please use a dummy user if you * have disabled Mongo authentication * @param password the password to use for authentication. NOTE: Please use a dummy password if * you have disabled Mongo authentication * @param database Name of the database * @return the newly created {@link MongoSession} * @throws org.mule.api.ConnectionException */ @Connect public void connect( @ConnectionKey String username, @Password String password, @Optional @Default("test") String database) throws ConnectionException { DB db = null; try { MongoOptions options = new MongoOptions(); if (connectionsPerHost != null) { options.connectionsPerHost = connectionsPerHost; } if (threadsAllowedToBlockForConnectionMultiplier != null) { options.threadsAllowedToBlockForConnectionMultiplier = threadsAllowedToBlockForConnectionMultiplier; } if (maxWaitTime != null) { options.maxWaitTime = maxWaitTime; } if (connectTimeout != null) { options.connectTimeout = connectTimeout; } if (socketTimeout != null) { options.socketTimeout = socketTimeout; } if (autoConnectRetry != null) { options.autoConnectRetry = autoConnectRetry; } if (slaveOk != null) { options.slaveOk = slaveOk; } if (safe != null) { options.safe = safe; } if (w != null) { options.w = w; } if (wtimeout != null) { options.wtimeout = wtimeout; } if (fsync != null) { options.fsync = fsync; } if (database != null) { this.database = database; } mongo = getOrCreateMongoInstance(host, port, options); db = getDatabase(mongo, username, password, database); } catch (MongoException me) { throw new ConnectionException(ConnectionExceptionCode.UNKNOWN, null, me.getMessage()); } catch (UnknownHostException e) { throw new ConnectionException(ConnectionExceptionCode.UNKNOWN_HOST, null, e.getMessage()); } this.client = new MongoClientImpl(db); }
private void init(String dbPrefix) { try { mongoReplicaProps = new ArrayList<ServerAddress>(); // mongoReplicaProps.add(new ServerAddress("mongodb1.qa.sg1.hike.in", 27017)); mongoReplicaProps.add(new ServerAddress("10.0.1.141", 27017)); mongoReplicaProps.add(new ServerAddress("10.0.1.141", 27017)); MongoOptions options = new MongoOptions(); options.autoConnectRetry = true; options.readPreference = ReadPreference.primaryPreferred(); options.setThreadsAllowedToBlockForConnectionMultiplier(50); options.setConnectionsPerHost(100); options.slaveOk = true; mongo = new Mongo(mongoReplicaProps, options); userDB = mongo.getDB("userdb"); } catch (Exception e) { e.printStackTrace(); } }