@Bean @Primary @ConditionalOnMissingBean(name = "mongoClient", value = MongoClient.class) public MongoClient mongoClient(final MongoProperties mongoProperties) { LOG.info("Creating MongoClient"); return new MongoClient(mongoProperties.getServers(), getMongoCredentials(mongoProperties), mongoProperties.toMongoClientOptions(codecRegistry())); }
private static List<MongoCredential> getMongoCredentials(final MongoProperties mongoProperties) { if (useUnauthorizedConnection(mongoProperties)) { return Collections.emptyList(); } return singletonList(createCredential(mongoProperties.getUser(), getAuthenticationDb(mongoProperties), mongoProperties.getPassword().toCharArray())); }
private static MongoCredential getMongoCredentials(final MongoProperties mongoProperties) { if (useUnauthorizedConnection(mongoProperties)) { return null; } return createCredential( mongoProperties.getUser(), getAuthenticationDb(mongoProperties), mongoProperties.getPassword().toCharArray() ); }
@Bean @Primary @ConditionalOnMissingBean(name = "mongoClient", value = MongoClient.class) public MongoClient mongoClient(final MongoProperties mongoProperties) { LOG.info("Creating MongoClient"); return new MongoClient(mongoProperties.getServers(), getMongoCredentials(mongoProperties), mongoProperties.toMongoClientOptions(codecRegistry())); }
@Bean @ConditionalOnProperty(prefix = "edison.mongo", name = "socket-timeout-for-high-timeout-client") public MongoClient mongoClientWithHighSocketTimeout(final MongoProperties mongoProperties) { LOG.info("Creating MongoClient with high socket timeout"); return new MongoClient(mongoProperties.getServers(), getMongoCredentials(mongoProperties), mongoProperties.toMongoClientOptionsWithHighTimeout(codecRegistry())); }