Java Code Examples for com.mongodb.ConnectionString#getReadPreference()
The following examples show how to use
com.mongodb.ConnectionString#getReadPreference() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NewsServiceApp.java From Hands-On-Reactive-Programming-in-Spring-5 with MIT License | 5 votes |
@Bean MongoClient mongoClient(MongoProperties properties) { ConnectionString connectionString = new ConnectionString(properties.determineUri()); MongoClientSettings.Builder builder = MongoClientSettings .builder() .streamFactoryFactory(NettyStreamFactory::new) .applyToClusterSettings(b -> b.applyConnectionString(connectionString)) .applyToConnectionPoolSettings(b -> b.applyConnectionString(connectionString)) .applyToServerSettings(b -> b.applyConnectionString(connectionString)) .applyToSslSettings(b -> b.applyConnectionString(connectionString)) .applyToSocketSettings(b -> b.applyConnectionString(connectionString)) .codecRegistry(fromRegistries( MongoClients.getDefaultCodecRegistry(), fromProviders(PojoCodecProvider.builder() .automatic(true) .register(News.class) .build()) )); if (connectionString.getReadPreference() != null) { builder.readPreference(connectionString.getReadPreference()); } if (connectionString.getReadConcern() != null) { builder.readConcern(connectionString.getReadConcern()); } if (connectionString.getWriteConcern() != null) { builder.writeConcern(connectionString.getWriteConcern()); } if (connectionString.getApplicationName() != null) { builder.applicationName(connectionString.getApplicationName()); } return MongoClients.create(builder.build()); }
Example 2
Source File: WithEmbeddedMongo.java From Hands-On-Reactive-Programming-in-Spring-5 with MIT License | 5 votes |
default MongoClient mongoClient() { ConnectionString connectionString = new ConnectionString("mongodb://localhost/news"); MongoClientSettings.Builder builder = MongoClientSettings.builder() .streamFactoryFactory(NettyStreamFactory::new) .applyToClusterSettings((cs) -> cs .applyConnectionString(connectionString)) .applyToConnectionPoolSettings(cps -> cps .applyConnectionString(connectionString)) .applyToServerSettings(ss -> ss .applyConnectionString(connectionString)) // TODO: Do not work with JDK11 without the next line being commented (null is not allowed) //.credential(connectionString.getCredential()) .applyToSslSettings(ss -> ss .applyConnectionString(connectionString)) .applyToSocketSettings(ss -> ss .applyConnectionString(connectionString)) .codecRegistry(fromRegistries( MongoClients.getDefaultCodecRegistry(), fromProviders(PojoCodecProvider.builder() .automatic(true) .register(News.class) .build()) )); if (connectionString.getReadPreference() != null) { builder.readPreference(connectionString.getReadPreference()); } if (connectionString.getReadConcern() != null) { builder.readConcern(connectionString.getReadConcern()); } if (connectionString.getWriteConcern() != null) { builder.writeConcern(connectionString.getWriteConcern()); } if (connectionString.getApplicationName() != null) { builder.applicationName(connectionString.getApplicationName()); } return MongoClients.create(builder.build()); }
Example 3
Source File: ReadPreferenceParser.java From vertx-mongo-client with Apache License 2.0 | 5 votes |
ReadPreferenceParser(ConnectionString connectionString, JsonObject config) { ReadPreference connStringReadPreference = connectionString != null ? connectionString.getReadPreference() : null; if (connStringReadPreference != null) { // Prefer connection string's read preference readPreference = connStringReadPreference; } else { ReadPreference rp; String rps = config.getString("readPreference"); if (rps != null) { JsonArray readPreferenceTags = config.getJsonArray("readPreferenceTags"); if (readPreferenceTags == null) { rp = ReadPreference.valueOf(rps); if (rp == null) throw new IllegalArgumentException("Invalid ReadPreference " + rps); } else { // Support advanced ReadPreference Tags List<TagSet> tagSet = new ArrayList<>(); readPreferenceTags.forEach(o -> { String tagString = (String) o; List<Tag> tags = Stream.of(tagString.trim().split(",")) .map(s -> s.split(":")) .filter(array -> { if (array.length != 2) { throw new IllegalArgumentException("Invalid readPreferenceTags value '" + tagString + "'"); } return true; }).map(array -> new Tag(array[0], array[1])).collect(Collectors.toList()); tagSet.add(new TagSet(tags)); }); rp = ReadPreference.valueOf(rps, tagSet); } } else { rp = null; } readPreference = rp; } }