.minSize(getMinConnectionsPerHost()) .maxSize(getConnectionsPerHost()) .maxWaitQueueSize(getThreadsAllowedToBlockForConnectionMultiplier() * getConnectionsPerHost()) .maxWaitTime(getMaxWaitTime(), MILLISECONDS) .maxConnectionIdleTime(getMaxConnectionIdleTime(), MILLISECONDS) .maxConnectionLifeTime(getMaxConnectionLifeTime(), MILLISECONDS); connectionPoolSettingsBuilder.addConnectionPoolListener(connectionPoolListener); connectionPoolSettings = connectionPoolSettingsBuilder.build();
compressorList = connectionString.getCompressorList(); connectionPoolSettingsBuilder.applyConnectionString(connectionString); if (connectionString.getCredential() != null) { credential = connectionString.getCredential();
private Builder(final MongoClientSettings settings) { notNull("settings", settings); applicationName = settings.getApplicationName(); commandListeners = new ArrayList<CommandListener>(settings.getCommandListeners()); compressorList = new ArrayList<MongoCompressor>(settings.getCompressorList()); codecRegistry = settings.getCodecRegistry(); readPreference = settings.getReadPreference(); writeConcern = settings.getWriteConcern(); retryWrites = settings.getRetryWrites(); readConcern = settings.getReadConcern(); credential = settings.getCredential(); streamFactoryFactory = settings.getStreamFactoryFactory(); clusterSettingsBuilder.applySettings(settings.getClusterSettings()); serverSettingsBuilder.applySettings(settings.getServerSettings()); socketSettingsBuilder.applySettings(settings.getSocketSettings()); connectionPoolSettingsBuilder.applySettings(settings.getConnectionPoolSettings()); sslSettingsBuilder.applySettings(settings.getSslSettings()); }
connectionPoolBuilder.maxWaitTime(maxWaitTime, TimeUnit.MILLISECONDS); if (connectTimeout != null) socketBuilder.connectTimeout(connectTimeout, TimeUnit.MILLISECONDS); socketBuilder.keepAlive(socketKeepAlive); if (maxConnectionLifeTime != null) connectionPoolBuilder.maxConnectionLifeTime(maxConnectionLifeTime, TimeUnit.MILLISECONDS); if (maxConnectionIdleTime != null) connectionPoolBuilder.maxConnectionIdleTime(maxConnectionIdleTime, TimeUnit.MILLISECONDS); if (minHeartbeatFrequency != null) serverBuilder.minHeartbeatFrequency(minHeartbeatFrequency, TimeUnit.MILLISECONDS); ConnectionPoolSettings connectionPoolSettings = connectionPoolBuilder.build(); ServerSettings serverSettings = serverBuilder.build(); SslSettings sslSettings = sslBuilder.build(); .applyToClusterSettings(builder1 -> builder1.applySettings(clusterSettings)) .applyToSocketSettings(builder1 -> builder1.applySettings(socketSettings)) .applyToConnectionPoolSettings(builder1 -> builder1.applySettings(connectionPoolSettings)) .applyToServerSettings(builder1 -> builder1.applySettings(serverSettings)) .applyToSslSettings(builder1 -> builder1.applySettings(sslSettings))
.minSize(getMinConnectionsPerHost()) .maxSize(getConnectionsPerHost()) .maxWaitQueueSize(getThreadsAllowedToBlockForConnectionMultiplier() * getConnectionsPerHost()) .maxWaitTime(getMaxWaitTime(), MILLISECONDS) .maxConnectionIdleTime(getMaxConnectionIdleTime(), MILLISECONDS) .maxConnectionLifeTime(getMaxConnectionLifeTime(), MILLISECONDS); connectionPoolSettingsBuilder.addConnectionPoolListener(connectionPoolListener); connectionPoolSettings = connectionPoolSettingsBuilder.build();
compressorList = connectionString.getCompressorList(); connectionPoolSettingsBuilder.applyConnectionString(connectionString); if (connectionString.getCredential() != null) { credential = connectionString.getCredential();
Integer maxConnectionPoolSize = connectionString.getMaxConnectionPoolSize(); if (maxConnectionPoolSize != null) { maxSize(maxConnectionPoolSize); minSize(minConnectionPoolSize); maxWaitTime(maxWaitTime, MILLISECONDS); maxConnectionIdleTime(maxConnectionIdleTime, MILLISECONDS); maxConnectionLifeTime(maxConnectionLifeTime, MILLISECONDS); maxWaitQueueSize(threadsAllowedToBlockForConnectionMultiplier * maxSize);
private MongoClientSettings(final Builder builder) { readPreference = builder.readPreference; writeConcern = builder.writeConcern; retryWrites = builder.retryWrites; readConcern = builder.readConcern; credential = builder.credential; streamFactoryFactory = builder.streamFactoryFactory; codecRegistry = builder.codecRegistry; commandListeners = builder.commandListeners; applicationName = builder.applicationName; clusterSettings = builder.clusterSettingsBuilder.build(); serverSettings = builder.serverSettingsBuilder.build(); socketSettings = builder.socketSettingsBuilder.build(); connectionPoolSettings = builder.connectionPoolSettingsBuilder.build(); sslSettings = builder.sslSettingsBuilder.build(); compressorList = builder.compressorList; SocketSettings.Builder heartbeatSocketSettingsBuilder = SocketSettings.builder() .readTimeout(socketSettings.getConnectTimeout(MILLISECONDS), MILLISECONDS) .connectTimeout(socketSettings.getConnectTimeout(MILLISECONDS), MILLISECONDS); heartbeatSocketSettings = heartbeatSocketSettingsBuilder.build(); } }
private MongoClientSettings buildMongoClientSettings(MongoDbConfig.ClientConfig clientConfig, String clientName, Coffig coffig) { MongoClientSettings.Builder settingsBuilder = MongoClientSettings.builder(); AllSettings allSettings = coffig.get(AllSettings.class, String.format("mongoDb.clients.%s.settings", clientName)); // Apply hosts List<String> hosts = clientConfig.getHosts(); if (hosts.size() > 0) { allSettings.cluster.get().hosts(buildServerAddresses(clientName, hosts)); } // Apply credentials settingsBuilder.credentialList(buildMongoCredentials(clientName, clientConfig.getCredentials())); // Apply global settings Optional.ofNullable(allSettings.readPreference).ifPresent(settingsBuilder::readPreference); Optional.ofNullable(allSettings.writeConcern).ifPresent(settingsBuilder::writeConcern); Optional.ofNullable(allSettings.codecRegistry).map(Classes::instantiateDefault).ifPresent(settingsBuilder::codecRegistry); // Apply sub-settings settingsBuilder.clusterSettings(allSettings.cluster.get().build()); settingsBuilder.socketSettings(allSettings.socket.get().build()); settingsBuilder.heartbeatSocketSettings(allSettings.heartbeatSocket.get().build()); settingsBuilder.connectionPoolSettings(allSettings.connectionPool.get().build()); settingsBuilder.serverSettings(allSettings.server.get().build()); settingsBuilder.sslSettings(allSettings.ssl.get().build()); return settingsBuilder.build(); }
private Builder(final MongoClientSettings settings) { notNull("settings", settings); applicationName = settings.getApplicationName(); commandListeners = new ArrayList<CommandListener>(settings.getCommandListeners()); compressorList = new ArrayList<MongoCompressor>(settings.getCompressorList()); codecRegistry = settings.getCodecRegistry(); readPreference = settings.getReadPreference(); writeConcern = settings.getWriteConcern(); retryWrites = settings.getRetryWrites(); readConcern = settings.getReadConcern(); credential = settings.getCredential(); streamFactoryFactory = settings.getStreamFactoryFactory(); clusterSettingsBuilder.applySettings(settings.getClusterSettings()); serverSettingsBuilder.applySettings(settings.getServerSettings()); socketSettingsBuilder.applySettings(settings.getSocketSettings()); connectionPoolSettingsBuilder.applySettings(settings.getConnectionPoolSettings()); sslSettingsBuilder.applySettings(settings.getSslSettings()); }
static ConnectionPoolSettings pool(final ConnectionString cstr, final Config conf) { ConnectionPoolSettings.Builder pool = ConnectionPoolSettings.builder() .applyConnectionString(cstr); withConf("pool", conf, c -> { withMs("maintenanceFrequency", c, s -> pool.maintenanceFrequency(s, TimeUnit.MILLISECONDS)); withMs("maintenanceInitialDelay", c, s -> pool.maintenanceInitialDelay(s, TimeUnit.MILLISECONDS)); withMs("maxConnectionIdleTime", c, s -> pool.maxConnectionIdleTime(s, TimeUnit.MILLISECONDS)); withMs("maxConnectionLifeTime", c, s -> pool.maxConnectionLifeTime(s, TimeUnit.MILLISECONDS)); withInt("maxSize", c, pool::maxSize); withInt("maxWaitQueueSize", c, pool::maxWaitQueueSize); withMs("maxWaitTime", c, s -> pool.maxWaitTime(s, TimeUnit.MILLISECONDS)); withInt("minSize", c, pool::minSize); }); return pool.build(); }
private static MongoClientSettings buildClientSettings(final MongoClientSettings.Builder builder, final int maxPoolSize, final int maxPoolWaitQueueSize, final Duration maxPoolWaitTime, final boolean jmxListenerEnabled, @Nullable final ConnectionPoolListener customConnectionPoolListener) { final ConnectionPoolSettings.Builder connectionPoolSettingsBuilder = ConnectionPoolSettings.builder().maxSize(maxPoolSize).maxWaitQueueSize(maxPoolWaitQueueSize) .maxWaitTime(maxPoolWaitTime.toMillis(), TimeUnit.MILLISECONDS); if (jmxListenerEnabled) { connectionPoolSettingsBuilder.addConnectionPoolListener(new JMXConnectionPoolListener()); } if (customConnectionPoolListener != null) { connectionPoolSettingsBuilder.addConnectionPoolListener(customConnectionPoolListener); } builder.connectionPoolSettings(connectionPoolSettingsBuilder.build()); return builder.build(); }
private static MongoClientSettings buildClientSettings(final MongoClientSettings.Builder builder, final int maxPoolSize, final int maxPoolWaitQueueSize, final Duration maxPoolWaitTime, final boolean jmxListenerEnabled, @Nullable final ConnectionPoolListener customConnectionPoolListener) { final ConnectionPoolSettings.Builder connectionPoolSettingsBuilder = ConnectionPoolSettings.builder().maxSize(maxPoolSize).maxWaitQueueSize(maxPoolWaitQueueSize) .maxWaitTime(maxPoolWaitTime.toMillis(), TimeUnit.MILLISECONDS); if (jmxListenerEnabled) { connectionPoolSettingsBuilder.addConnectionPoolListener(new JMXConnectionPoolListener()); } if (customConnectionPoolListener != null) { connectionPoolSettingsBuilder.addConnectionPoolListener(customConnectionPoolListener); } builder.connectionPoolSettings(connectionPoolSettingsBuilder.build()); return builder.build(); }
/** * Gets a Builder for creating a new ConnectionPoolSettings instance. * * @param connectionPoolSettings the existing connection pool settings to configure the builder with * @return a new Builder for ConnectionPoolSettings * @since 3.5 */ public static Builder builder(final ConnectionPoolSettings connectionPoolSettings) { return builder().applySettings(connectionPoolSettings); }
private ConnectionPoolSettings getConnectionPoolSettings(final ConnectionPoolSettings connPoolSettings, final ConnectionPoolListener connPoolListener) { return ConnectionPoolSettings.builder(connPoolSettings).addConnectionPoolListener(connPoolListener).build(); } }
Integer maxConnectionPoolSize = connectionString.getMaxConnectionPoolSize(); if (maxConnectionPoolSize != null) { maxSize(maxConnectionPoolSize); minSize(minConnectionPoolSize); maxWaitTime(maxWaitTime, MILLISECONDS); maxConnectionIdleTime(maxConnectionIdleTime, MILLISECONDS); maxConnectionLifeTime(maxConnectionLifeTime, MILLISECONDS); maxWaitQueueSize(threadsAllowedToBlockForConnectionMultiplier * maxSize);
private MongoClientSettings(final Builder builder) { readPreference = builder.readPreference; writeConcern = builder.writeConcern; retryWrites = builder.retryWrites; readConcern = builder.readConcern; credential = builder.credential; streamFactoryFactory = builder.streamFactoryFactory; codecRegistry = builder.codecRegistry; commandListeners = builder.commandListeners; applicationName = builder.applicationName; clusterSettings = builder.clusterSettingsBuilder.build(); serverSettings = builder.serverSettingsBuilder.build(); socketSettings = builder.socketSettingsBuilder.build(); connectionPoolSettings = builder.connectionPoolSettingsBuilder.build(); sslSettings = builder.sslSettingsBuilder.build(); compressorList = builder.compressorList; SocketSettings.Builder heartbeatSocketSettingsBuilder = SocketSettings.builder() .readTimeout(socketSettings.getConnectTimeout(MILLISECONDS), MILLISECONDS) .connectTimeout(socketSettings.getConnectTimeout(MILLISECONDS), MILLISECONDS); heartbeatSocketSettings = heartbeatSocketSettingsBuilder.build(); } }
static ConnectionPoolSettings pool(final ConnectionString cstr, final Config conf) { ConnectionPoolSettings.Builder pool = ConnectionPoolSettings.builder() .applyConnectionString(cstr); withConf("pool", conf, c -> { withMs("maintenanceFrequency", c, s -> pool.maintenanceFrequency(s, TimeUnit.MILLISECONDS)); withMs("maintenanceInitialDelay", c, s -> pool.maintenanceInitialDelay(s, TimeUnit.MILLISECONDS)); withMs("maxConnectionIdleTime", c, s -> pool.maxConnectionIdleTime(s, TimeUnit.MILLISECONDS)); withMs("maxConnectionLifeTime", c, s -> pool.maxConnectionLifeTime(s, TimeUnit.MILLISECONDS)); withInt("maxSize", c, pool::maxSize); withInt("maxWaitQueueSize", c, pool::maxWaitQueueSize); withMs("maxWaitTime", c, s -> pool.maxWaitTime(s, TimeUnit.MILLISECONDS)); withInt("minSize", c, pool::minSize); }); return pool.build(); }
private ConnectionPoolSettings getConnectionPoolSettings(final ConnectionPoolSettings connPoolSettings, final ConnectionPoolListener connPoolListener) { return ConnectionPoolSettings.builder(connPoolSettings).addConnectionPoolListener(connPoolListener).build(); } }
/** * Gets a Builder for creating a new ConnectionPoolSettings instance. * * @param connectionPoolSettings the existing connection pool settings to configure the builder with * @return a new Builder for ConnectionPoolSettings * @since 3.5 */ public static Builder builder(final ConnectionPoolSettings connectionPoolSettings) { return builder().applySettings(connectionPoolSettings); }