private MongoClientOptions.Builder options(final Config config) { MongoClientOptions.Builder builder = MongoClientOptions.builder(); builder.connectionsPerHost(config.getInt("connectionsPerHost")); builder.threadsAllowedToBlockForConnectionMultiplier( config.getInt("threadsAllowedToBlockForConnectionMultiplier")); builder.maxWaitTime((int) config.getDuration("maxWaitTime", TimeUnit.MILLISECONDS)); builder.connectTimeout((int) config.getDuration("connectTimeout", TimeUnit.MILLISECONDS)); builder.socketTimeout((int) config.getDuration("socketTimeout", TimeUnit.MILLISECONDS)); builder.socketKeepAlive(config.getBoolean("socketKeepAlive")); builder.cursorFinalizerEnabled(config.getBoolean("cursorFinalizerEnabled")); builder.alwaysUseMBeans(config.getBoolean("alwaysUseMBeans")); builder.heartbeatFrequency(config.getInt("heartbeatFrequency")); builder.minHeartbeatFrequency(config.getInt("minHeartbeatFrequency")); builder.heartbeatConnectTimeout( (int) config.getDuration("heartbeatConnectTimeout", TimeUnit.MILLISECONDS)); builder.heartbeatSocketTimeout( (int) config.getDuration("heartbeatSocketTimeout", TimeUnit.MILLISECONDS)); return builder; }
@Singleton @Provides public static MongoSession createMongoSession(TypeManager typeManager, MongoClientConfig config) { requireNonNull(config, "config is null"); MongoClientOptions.Builder options = MongoClientOptions.builder(); options.connectionsPerHost(config.getConnectionsPerHost()) .connectTimeout(config.getConnectionTimeout()) .socketTimeout(config.getSocketTimeout()) .socketKeepAlive(config.getSocketKeepAlive()) .sslEnabled(config.getSslEnabled()) .maxWaitTime(config.getMaxWaitTime()) .minConnectionsPerHost(config.getMinConnectionsPerHost()) .readPreference(config.getReadPreference().getReadPreference()) .writeConcern(config.getWriteConcern().getWriteConcern()); if (config.getRequiredReplicaSetName() != null) { options.requiredReplicaSetName(config.getRequiredReplicaSetName()); } MongoClient client = new MongoClient(config.getSeeds(), config.getCredentials(), options.build()); return new MongoSession( typeManager, client, config); } }
@Bean public MongoClientOptions mongoClientOptions(MongoOptionProperties mongoOptionProperties) { if (mongoOptionProperties == null) { return new MongoClientOptions.Builder().build(); } return new MongoClientOptions.Builder() .minConnectionsPerHost(mongoOptionProperties.getMinConnectionPerHost()) .connectionsPerHost(mongoOptionProperties.getMaxConnectionPerHost()) .threadsAllowedToBlockForConnectionMultiplier(mongoOptionProperties.getThreadsAllowedToBlockForConnectionMultiplier()) .serverSelectionTimeout(mongoOptionProperties.getServerSelectionTimeout()) .maxWaitTime(mongoOptionProperties.getMaxWaitTime()) .maxConnectionIdleTime(mongoOptionProperties.getMaxConnectionIdleTime()) .maxConnectionLifeTime(mongoOptionProperties.getMaxConnectionLifeTime()) .connectTimeout(mongoOptionProperties.getConnectTimeout()) .socketTimeout(mongoOptionProperties.getSocketTimeout()) .socketKeepAlive(mongoOptionProperties.getSocketKeepAlive()) .sslEnabled(mongoOptionProperties.getSslEnabled()) .sslInvalidHostNameAllowed(mongoOptionProperties.getSslInvalidHostNameAllowed()) .alwaysUseMBeans(mongoOptionProperties.getAlwaysUseMBeans()) .heartbeatFrequency(mongoOptionProperties.getHeartbeatFrequency()) .minConnectionsPerHost(mongoOptionProperties.getMinConnectionPerHost()) .heartbeatConnectTimeout(mongoOptionProperties.getHeartbeatConnectTimeout()) .heartbeatSocketTimeout(mongoOptionProperties.getSocketTimeout()) .localThreshold(mongoOptionProperties.getLocalThreshold()) .build(); }
private MongoClient getDefaultMongoClient() { if (mongoClient == null) { final MongoClientOptions.Builder builder = MongoClientOptions.builder(); builder.connectionsPerHost(100); builder.threadsAllowedToBlockForConnectionMultiplier(5); builder.maxWaitTime(1000 * 60 * 2); builder.connectTimeout(1000 * 10); builder.socketTimeout(0); builder.socketKeepAlive(false); builder.autoConnectRetry(false); builder.maxAutoConnectRetryTime(0); builder.readPreference(ReadPreference.primary()); builder.writeConcern(WriteConcern.ACKNOWLEDGED); try { mongoClient = new MongoClient("localhost", builder.build()); } catch (UnknownHostException e) { throw new RuntimeException(e.getMessage(), e); } } return mongoClient; }
@SuppressWarnings("deprecation") MongoClientOptions toClientOptions() { Builder builder = MongoClientOptions.builder() .requiredReplicaSetName(requiredReplicaSetName) .connectionsPerHost(connectionsPerHost) .connectTimeout(connectTimeout) .dbDecoderFactory(dbDecoderFactory) .dbEncoderFactory(dbEncoderFactory) .description(description) .maxWaitTime(maxWaitTime) .socketFactory(socketFactory) .socketKeepAlive(socketKeepAlive) .socketTimeout(socketTimeout) .threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier) .cursorFinalizerEnabled(cursorFinalizerEnabled) .alwaysUseMBeans(alwaysUseMBeans); builder.writeConcern(getWriteConcern()); if (readPreference != null) { builder.readPreference(getReadPreference()); } return builder.build(); }
@Bean public MongoClientOptions getMongoOptions() { MongoClientOptions.Builder optionsBuilder = MongoClientOptions.builder(); optionsBuilder.autoConnectRetry(getMongoProperty("mongodb.autoConnectRetry", Boolean.class)); optionsBuilder.connectionsPerHost(getMongoProperty("mongodb.connectionsPerHost", Integer.class)); optionsBuilder.connectTimeout(getMongoProperty("mongodb.connectTimeout", Integer.class)); optionsBuilder.cursorFinalizerEnabled(getMongoProperty("mongodb.cursorFinalizerEnabled", Boolean.class)); optionsBuilder.writeConcern(getWriteConcern()); optionsBuilder.maxAutoConnectRetryTime(getMongoProperty("mongodb.maxAutoConnectRetryTime", Long.class)); optionsBuilder.maxWaitTime(getMongoProperty("mongodb.maxWaitTime", Integer.class)); optionsBuilder.socketKeepAlive(getMongoProperty("mongodb.socketKeepAlive", Boolean.class)); optionsBuilder.socketTimeout(getMongoProperty("mongodb.socketTimeout", Integer.class)); optionsBuilder.threadsAllowedToBlockForConnectionMultiplier(getMongoProperty( "mongodb.threadsAllowedToBlockForConnectionMultiplier", Integer.class)); if (getMongoProperty("mongodb.slaveOk", Boolean.class)) { optionsBuilder.readPreference(ReadPreference.secondaryPreferred()); } return optionsBuilder.build(); }
private MongoClientOptions.Builder options(final Config config) { MongoClientOptions.Builder builder = MongoClientOptions.builder(); builder.connectionsPerHost(config.getInt("connectionsPerHost")); builder.threadsAllowedToBlockForConnectionMultiplier( config.getInt("threadsAllowedToBlockForConnectionMultiplier")); builder.maxWaitTime((int) config.getDuration("maxWaitTime", TimeUnit.MILLISECONDS)); builder.connectTimeout((int) config.getDuration("connectTimeout", TimeUnit.MILLISECONDS)); builder.socketTimeout((int) config.getDuration("socketTimeout", TimeUnit.MILLISECONDS)); builder.socketKeepAlive(config.getBoolean("socketKeepAlive")); builder.cursorFinalizerEnabled(config.getBoolean("cursorFinalizerEnabled")); builder.alwaysUseMBeans(config.getBoolean("alwaysUseMBeans")); builder.heartbeatFrequency(config.getInt("heartbeatFrequency")); builder.minHeartbeatFrequency(config.getInt("minHeartbeatFrequency")); builder.heartbeatConnectTimeout( (int) config.getDuration("heartbeatConnectTimeout", TimeUnit.MILLISECONDS)); builder.heartbeatSocketTimeout( (int) config.getDuration("heartbeatSocketTimeout", TimeUnit.MILLISECONDS)); return builder; }
@Bean public MongoClientOptions getMongoOptions() { MongoClientOptions.Builder optionsBuilder = MongoClientOptions.builder(); optionsBuilder.autoConnectRetry(getMongoProperty("mongodb.autoConnectRetry", Boolean.class)); optionsBuilder.connectionsPerHost(getMongoProperty("mongodb.connectionsPerHost", Integer.class)); optionsBuilder.connectTimeout(getMongoProperty("mongodb.connectTimeout", Integer.class)); optionsBuilder.cursorFinalizerEnabled(getMongoProperty("mongodb.cursorFinalizerEnabled", Boolean.class)); optionsBuilder.writeConcern(getWriteConcern()); optionsBuilder.maxAutoConnectRetryTime(getMongoProperty("mongodb.maxAutoConnectRetryTime", Long.class)); optionsBuilder.maxWaitTime(getMongoProperty("mongodb.maxWaitTime", Integer.class)); optionsBuilder.socketKeepAlive(getMongoProperty("mongodb.socketKeepAlive", Boolean.class)); optionsBuilder.socketTimeout(getMongoProperty("mongodb.socketTimeout", Integer.class)); optionsBuilder.threadsAllowedToBlockForConnectionMultiplier(getMongoProperty( "mongodb.threadsAllowedToBlockForConnectionMultiplier", Integer.class)); if (getMongoProperty("mongodb.slaveOk", Boolean.class)) { optionsBuilder.readPreference(ReadPreference.secondaryPreferred()); } return optionsBuilder.build(); }
@Test public void socketKeepAlive() throws Exception { assumeTrue(MongoUtils.isAvailable()); MongoClientOptions.Builder options = MongoConnection.getDefaultBuilder(); options.socketKeepAlive(false); MongoConnection c = new MongoConnection(MongoUtils.URL, options); try { assertFalse(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive()); } finally { c.close(); } // default is with keep-alive (starting with 3.6 driver) c = new MongoConnection(MongoUtils.URL); try { assertTrue(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive()); } finally { c.close(); } }
@Override public boolean start() { Read spec = source.spec; MongoClientOptions.Builder optionsBuilder = new MongoClientOptions.Builder(); optionsBuilder.maxConnectionIdleTime(spec.maxConnectionIdleTime()); optionsBuilder.socketKeepAlive(spec.keepAlive()); client = new MongoClient(new MongoClientURI(spec.uri(), optionsBuilder)); MongoDatabase mongoDatabase = client.getDatabase(spec.database()); MongoCollection<Document> mongoCollection = mongoDatabase.getCollection(spec.collection()); if (spec.filter() == null) { cursor = mongoCollection.find().iterator(); } else { Document bson = Document.parse(spec.filter()); cursor = mongoCollection.find(bson).iterator(); } return advance(); }
MongoClientOptions.Builder options = MongoClientOptions.builder(); options.socketKeepAlive(true); mongoClient = new MongoClient(mongoAddress, options.build());
private void prepareClient() { try { ServerAddress address = new ServerAddress(config.getMongo().getHost(), config.getMongo().getPort()); MongoClientOptions options = MongoClientOptions.builder() .serverSelectionTimeout(5000) .socketKeepAlive(false) .readPreference(ReadPreference.primaryPreferred()) .sslInvalidHostNameAllowed(true) .build(); client = connectToClient(address, options); } catch (Exception ex) { logger.error(ex.getMessage(), ex); System.exit(-1); } }
MongoClientOptions createMongoClientOptions() { return MongoClientOptions.builder() .connectionsPerHost(this.connectionsPerHost) .connectTimeout(this.connectTimeout) .socketTimeout(this.socketTimeout) .threadsAllowedToBlockForConnectionMultiplier(this.threadsAllowedToBlockForConnectionMultiplier) .socketKeepAlive(this.socketKeepAlive) .maxWaitTime(this.maxWaitTime) .build(); }
@Setup public void createMongoClient() throws Exception { MongoClientOptions.Builder builder = new MongoClientOptions.Builder(); builder.socketKeepAlive(spec.keepAlive()); builder.maxConnectionIdleTime(spec.maxConnectionIdleTime()); client = new MongoClient(new MongoClientURI(spec.uri(), builder)); }
private MongoClientOptions getConfOptions() { return new MongoClientOptions.Builder().socketKeepAlive(true) .connectTimeout(Integer.valueOf(PropertyUtils.getPropertyString(bundleResourceString, "mongo.db.connection.timeout"))) .socketTimeout(Integer.valueOf(PropertyUtils.getPropertyString(bundleResourceString, "mongo.db.socket.timeout"))) .readPreference(ReadPreference.primary()) .autoConnectRetry(false) .connectionsPerHost(Integer.valueOf(PropertyUtils.getPropertyString(bundleResourceString, "mongo.db.connections.perhost"))) .maxWaitTime(Integer.valueOf(PropertyUtils.getPropertyString(bundleResourceString, "mongo.db.max.wait.time"))) .threadsAllowedToBlockForConnectionMultiplier(Integer.valueOf(PropertyUtils.getPropertyString(bundleResourceString, "mongo.db.threads.allowed.block.connection.multiplier"))) .writeConcern(WriteConcern.NORMAL).build(); }
.socketKeepAlive(socketKeepAlive) //
optionsBuilder.socketKeepAlive(configuration.getSocketKeepalive());
.socketKeepAlive(socketKeepAlive) //
@SuppressWarnings("deprecation") MongoClientOptions toClientOptions() { Builder builder = MongoClientOptions.builder() .requiredReplicaSetName(requiredReplicaSetName) .connectionsPerHost(connectionsPerHost) .connectTimeout(connectTimeout) .dbDecoderFactory(dbDecoderFactory) .dbEncoderFactory(dbEncoderFactory) .description(description) .maxWaitTime(maxWaitTime) .socketFactory(socketFactory) .socketKeepAlive(socketKeepAlive) .socketTimeout(socketTimeout) .threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier) .cursorFinalizerEnabled(cursorFinalizerEnabled) .alwaysUseMBeans(alwaysUseMBeans); builder.writeConcern(getWriteConcern()); if (readPreference != null) { builder.readPreference(getReadPreference()); } return builder.build(); }