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(); }
static MongoClientSettings.Builder settings(final ConnectionString cstr, final Config conf) { MongoClientSettings.Builder settings = MongoClientSettings.builder(); settings.clusterSettings(cluster(cstr, conf)); settings.connectionPoolSettings(pool(cstr, conf)); settings.heartbeatSocketSettings(socket("heartbeat", cstr, conf)); withStr("readConcern", conf, v -> settings.readConcern(readConcern(v))); withStr("readPreference", conf, v -> settings.readPreference(ReadPreference.valueOf(v))); settings.serverSettings(server(conf)); settings.socketSettings(socket("socket", cstr, conf)); settings.sslSettings(ssl(cstr, conf)); withStr("writeConcern", conf, v -> settings.writeConcern(writeConcern(v))); return settings; }
@Override protected MongoClientSettings createInstance() throws Exception { return MongoClientSettings.builder() // .readPreference(readPreference) // .writeConcern(writeConcern) // .readConcern(readConcern) // .credentialList(credentialList) // .streamFactoryFactory(streamFactoryFactory) // .codecRegistry(codecRegistry) // .clusterSettings(clusterSettings) // .socketSettings(socketSettings) // .heartbeatSocketSettings(heartbeatSocketSettings) // .connectionPoolSettings(connectionPoolSettings) // .serverSettings(serverSettings) // .sslSettings(sslSettings) // .build(); } }
@Override protected MongoClientSettings createInstance() throws Exception { return MongoClientSettings.builder() // .readPreference(readPreference) // .writeConcern(writeConcern) // .readConcern(readConcern) // .credentialList(credentialList) // .streamFactoryFactory(streamFactoryFactory) // .codecRegistry(codecRegistry) // .clusterSettings(clusterSettings) // .socketSettings(socketSettings) // .heartbeatSocketSettings(heartbeatSocketSettings) // .connectionPoolSettings(connectionPoolSettings) // .serverSettings(serverSettings) // .sslSettings(sslSettings) // .build(); } }
static MongoClientSettings.Builder settings(final ConnectionString cstr, final Config conf) { MongoClientSettings.Builder settings = MongoClientSettings.builder(); settings.clusterSettings(cluster(cstr, conf)); settings.connectionPoolSettings(pool(cstr, conf)); settings.heartbeatSocketSettings(socket("heartbeat", cstr, conf)); withStr("readConcern", conf, v -> settings.readConcern(readConcern(v))); withStr("readPreference", conf, v -> settings.readPreference(ReadPreference.valueOf(v))); settings.serverSettings(server(conf)); settings.socketSettings(socket("socket", cstr, conf)); settings.sslSettings(ssl(cstr, conf)); withStr("writeConcern", conf, v -> settings.writeConcern(writeConcern(v))); return settings; }