List of usage examples for com.mongodb MongoClientOptions builder
public static Builder builder()
From source file:com.redhat.lightblue.mongo.config.MongoConfiguration.java
License:Open Source License
/** * Returns an options object with defaults overriden where there is a valid override. * * @return//from w ww . j a v a 2s .c o m */ public MongoClientOptions getMongoClientOptions() { MongoClientOptions.Builder builder = MongoClientOptions.builder(); if (connectionsPerHost != null) { builder.connectionsPerHost(connectionsPerHost); } if (ssl) { // taken from MongoClientURI, written this way so we don't have to // construct a URI to connect builder.socketFactory(getSocketFactory()); } return builder.build(); }
From source file:com.redhat.thermostat.gateway.common.mongodb.ThermostatMongoStorage.java
License:Open Source License
public ThermostatMongoStorage(Map<String, String> mongoConfiguration) { String username = null;//from ww w. j av a2 s. com char[] password = null; String host = "127.0.0.1"; int port = 27518; int timeout = 1000; String dbName = DEFAULT_DB_NAME; if (mongoConfiguration.containsKey(MongoConfiguration.MONGO_DB.toString())) { dbName = mongoConfiguration.get(MongoConfiguration.MONGO_DB.toString()); } if (mongoConfiguration.containsKey(MongoConfiguration.MONGO_USERNAME.toString())) { username = mongoConfiguration.get(MongoConfiguration.MONGO_USERNAME.toString()); } if (mongoConfiguration.containsKey(MongoConfiguration.MONGO_PASSWORD.toString())) { password = mongoConfiguration.get(MongoConfiguration.MONGO_PASSWORD.toString()).toCharArray(); } if (mongoConfiguration.containsKey(MongoConfiguration.MONGO_URL.toString())) { try { URI url = new URI(mongoConfiguration.get(MongoConfiguration.MONGO_URL.toString())); host = url.getHost(); port = url.getPort(); } catch (URISyntaxException e) { // Do nothing. Defaults will be used. } } if (mongoConfiguration.containsKey(MongoConfiguration.MONGO_SERVER_TIMEOUT.toString())) { timeout = Integer.valueOf(mongoConfiguration.get(MongoConfiguration.MONGO_SERVER_TIMEOUT.toString())); } ServerAddress address = new ServerAddress(host, port); if (username != null && password != null) { MongoCredential credential = MongoCredential.createCredential(username, dbName, password); mongoClient = new MongoClient(address, Collections.singletonList(credential), new MongoClientOptions.Builder().serverSelectionTimeout(timeout).connectTimeout(0) .socketTimeout(0).build()); } else { mongoClient = new MongoClient(address, new MongoClientOptions.Builder().serverSelectionTimeout(timeout) .connectTimeout(0).socketTimeout(0).build()); } Logger mongoLog = Logger.getLogger("org.mongodb.driver"); mongoLog.setLevel(Level.OFF); this.dbName = dbName; }
From source file:com.redhat.thermostat.web2.endpoint.command.MongoStorage.java
License:Open Source License
public static void start(final String dbName, int port) { MongoStorage.dbName = dbName;// ww w . ja v a 2s.c o m MongoCredential credential = MongoCredential.createCredential(username, dbName, password); ServerAddress address = new ServerAddress("127.0.0.1", port); mongoClient = new MongoClient(address, Collections.singletonList(credential), new MongoClientOptions.Builder().serverSelectionTimeout(0).build()); }
From source file:com.ricardolorenzo.identity.user.impl.UserIdentityManagerMongoDB.java
License:Open Source License
public UserIdentityManagerMongoDB(final Properties conf) throws UnknownHostException { this.properties = conf; this.databaseUsers = new Boolean(this.properties.getProperty("mongodb.databaseUsers", "true")); WriteConcern writeConcern = WriteConcern.MAJORITY; String writeConcernType = conf.getProperty("mongodb.writeConcern", "majority").toLowerCase(); if ("majority".equals(writeConcernType)) { writeConcern = WriteConcern.UNACKNOWLEDGED; } else if ("unacknowledged".equals(writeConcernType)) { writeConcern = WriteConcern.UNACKNOWLEDGED; } else if ("acknowledged".equals(writeConcernType)) { writeConcern = WriteConcern.ACKNOWLEDGED; } else if ("journaled".equals(writeConcernType)) { writeConcern = WriteConcern.JOURNALED; } else if ("replica_acknowledged".equals(writeConcernType)) { writeConcern = WriteConcern.REPLICA_ACKNOWLEDGED; }//from ww w .jav a 2s .c o m ReadPreference readPreference = null; String readPreferenceType = conf.getProperty("mongodb.readPreference", "primary").toLowerCase(); if ("primary".equals(readPreferenceType)) { readPreference = ReadPreference.primary(); } else if ("primary_preferred".equals(readPreferenceType)) { readPreference = ReadPreference.primaryPreferred(); } else if ("secondary".equals(readPreferenceType)) { readPreference = ReadPreference.secondary(); } else if ("secondary_preferred".equals(readPreferenceType)) { readPreference = ReadPreference.secondaryPreferred(); } else if ("nearest".equals(readPreferenceType)) { readPreference = ReadPreference.nearest(); } MongoClientOptions.Builder options = MongoClientOptions.builder(); options.writeConcern(writeConcern); options.readPreference(readPreference); try { options.connectionsPerHost(Integer.parseInt(conf.getProperty("mongodb.threads", "100"))); } catch (NumberFormatException e) { options.connectionsPerHost(100); } MongoClientURI mongoClientURI = new MongoClientURI( conf.getProperty("mongodb.url", "mongodb://localhost:27017"), options); if (!this.properties.containsKey("mongodb.database")) { if (mongoClientURI.getDatabase() != null && !mongoClientURI.getDatabase().isEmpty()) { this.properties.setProperty("mongodb.database", mongoClientURI.getDatabase()); } else { this.properties.setProperty("mongodb.database", DEFAULT_DATABASE); } } mongoClient = new MongoClient(mongoClientURI); }
From source file:com.sample.db.Database.java
private void init() { try {/* www. j a v a 2 s. c om*/ props = new Properties(); props.load( Thread.currentThread().getContextClassLoader().getResourceAsStream("./application.properties")); max_conn_idle = Integer.parseInt(props.getProperty("mongo.max.connection.idle")); min_conn = Integer.parseInt(props.getProperty("mongo.min.connection")); server_port = Integer.parseInt(props.getProperty("mongo.port")); server_url = props.getProperty("mongo.server"); auth_db = props.getProperty("mongo.auth.db"); app_db = props.getProperty("mongo.app.db"); app_user = props.getProperty("mongo.auth.user"); app_pwd = props.getProperty("mongo.auth.pwd"); ServerAddress addr = new ServerAddress(server_url, server_port); MongoCredential creds = MongoCredential.createScramSha1Credential(app_user, auth_db, app_pwd.toCharArray()); List<MongoCredential> credList = new ArrayList<>(); credList.add(creds); MongoClientOptions options = new MongoClientOptions.Builder() .codecRegistry(getApplicationCodecRegistry()).minConnectionsPerHost(min_conn) .maxConnectionIdleTime(max_conn_idle).build(); client = new MongoClient(addr, credList, options); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.sitewhere.mongodb.MongoDbClient.java
License:Open Source License
@Override public void initialize(ILifecycleProgressMonitor monitor) throws SiteWhereException { try {/*from www .j a va 2 s. c om*/ MongoClientOptions.Builder builder = new MongoClientOptions.Builder(); builder.maxConnectionIdleTime(60 * 60 * 1000); // 1hour getLogger().info("MongoDB Connection: hosts=" + getHostname().getValue() + " ports=" + getConfiguration().getPort() + " replicaSet=" + getConfiguration().getReplicaSetName()); // Parse hostname(s) and port(s) into address list. List<ServerAddress> addresses = parseServerAddresses(); // Indicator for whether a replica set is being used. boolean isUsingReplicaSet = ((addresses.size() > 1) && (!StringUtils.isEmpty(getConfiguration().getReplicaSetName()))); if (isUsingReplicaSet) { getLogger().info("MongoDB using replicated mode."); } else { getLogger().info("MongoDB using standalone mode."); } // Handle authenticated access. if ((getConfiguration().getUsername() != null) && (getConfiguration().getPassword() != null)) { MongoCredential credential = MongoCredential.createCredential(getConfiguration().getUsername(), getConfiguration().getAuthDatabaseName(), getConfiguration().getPassword().toCharArray()); if (isUsingReplicaSet) { this.client = new MongoClient(addresses, Arrays.asList(credential), builder.build()); } else { this.client = new MongoClient(addresses.get(0), Arrays.asList(credential), builder.build()); } } // Handle unauthenticated access. else { if (isUsingReplicaSet) { this.client = new MongoClient(addresses, builder.build()); } else { this.client = new MongoClient(addresses.get(0), builder.build()); } } // Handle automatic configuration of replication. if ((isUsingReplicaSet) && (getConfiguration().isAutoConfigureReplication())) { doAutoConfigureReplication(addresses); } // Force interaction to test connectivity. getDatabase().listCollectionNames(); } catch (MongoTimeoutException e) { throw new SiteWhereException("Timed out connecting to MongoDB instance. " + "Verify that MongoDB is running on " + getHostname().getValue() + ":" + getConfiguration().getPort() + " and restart server.", e); } }
From source file:com.sitewhere.mongodb.MongoDbClient.java
License:Open Source License
/** * Create a connection to the primary in a replica set. * //from w w w . j a v a2 s . com * @param addresses * @return */ protected MongoClient getPrimaryConnection(List<ServerAddress> addresses) { MongoClientOptions.Builder builder = new MongoClientOptions.Builder(); if ((getConfiguration().getUsername() != null) && (getConfiguration().getPassword() != null)) { MongoCredential credential = MongoCredential.createCredential(getConfiguration().getUsername(), getConfiguration().getAuthDatabaseName(), getConfiguration().getPassword().toCharArray()); return new MongoClient(addresses.get(0), Arrays.asList(credential), builder.build()); } else { return new MongoClient(addresses.get(0), builder.build()); } }
From source file:com.socialsky.mods.MongoPersistor.java
License:Apache License
@Override public void start() { super.start(); address = getOptionalStringConfig("address", "vertx.mongopersistor"); host = getOptionalStringConfig("host", "localhost"); port = getOptionalIntConfig("port", 27017); dbName = getOptionalStringConfig("db_name", "default_db"); username = getOptionalStringConfig("username", null); password = getOptionalStringConfig("password", null); readPreference = ReadPreference.valueOf(getOptionalStringConfig("read_preference", "primary")); int poolSize = getOptionalIntConfig("pool_size", 10); autoConnectRetry = getOptionalBooleanConfig("auto_connect_retry", true); socketTimeout = getOptionalIntConfig("socket_timeout", 60000); useSSL = getOptionalBooleanConfig("use_ssl", false); JsonArray seedsProperty = config.getArray("seeds"); try {/*from w w w.j av a 2 s . c om*/ MongoClientOptions.Builder builder = new MongoClientOptions.Builder(); builder.connectionsPerHost(poolSize); builder.autoConnectRetry(autoConnectRetry); builder.socketTimeout(socketTimeout); builder.readPreference(readPreference); if (useSSL) { builder.socketFactory(SSLSocketFactory.getDefault()); } if (seedsProperty == null) { ServerAddress address = new ServerAddress(host, port); mongo = new MongoClient(address, builder.build()); } else { List<ServerAddress> seeds = makeSeeds(seedsProperty); mongo = new MongoClient(seeds, builder.build()); } db = mongo.getDB(dbName); if (username != null && password != null) { db.authenticate(username, password.toCharArray()); } } catch (UnknownHostException e) { logger.error("Failed to connect to mongo server", e); } eb.registerHandler(address, this); }
From source file:com.softinstigate.restheart.db.MongoDBClientSingleton.java
License:Open Source License
private void setup() throws UnknownHostException { if (initialized) { List<ServerAddress> servers = new ArrayList<>(); List<MongoCredential> credentials = new ArrayList<>(); for (Map<String, Object> mongoServer : mongoServers) { Object mongoHost = mongoServer.get(Configuration.MONGO_HOST_KEY); Object mongoPort = mongoServer.get(Configuration.MONGO_PORT_KEY); if (mongoHost != null && mongoHost instanceof String && mongoPort != null && mongoPort instanceof Integer) { servers.add(new ServerAddress((String) mongoHost, (int) mongoPort)); }/*from w w w .j av a 2s. co m*/ } if (mongoCredentials != null) { for (Map<String, Object> mongoCredential : mongoCredentials) { Object mongoAuthDb = mongoCredential.get(Configuration.MONGO_AUTH_DB_KEY); Object mongoUser = mongoCredential.get(Configuration.MONGO_USER_KEY); Object mongoPwd = mongoCredential.get(Configuration.MONGO_PASSWORD_KEY); if (mongoAuthDb != null && mongoAuthDb instanceof String && mongoUser != null && mongoUser instanceof String && mongoPwd != null && mongoPwd instanceof String) { credentials.add(MongoCredential.createMongoCRCredential((String) mongoUser, (String) mongoAuthDb, ((String) mongoPwd).toCharArray())); } } } MongoClientOptions opts = MongoClientOptions.builder().readPreference(ReadPreference.primaryPreferred()) .writeConcern(WriteConcern.ACKNOWLEDGED).build(); mongoClient = new MongoClient(servers, credentials, opts); } }
From source file:com.squid.kraken.v4.persistence.MongoDBHelper.java
License:Open Source License
private static MongoClient getMongo(String mongoName) { MongoClient mongoInstance;/*from ww w . j a v a 2 s .co m*/ String mongoHostProp = KrakenConfig.getProperty("kraken.mongodb.host"); String[] mongoHostList = mongoHostProp.split(","); String mongoPortProp = KrakenConfig.getProperty("kraken.mongodb.port"); String[] mongoPortList = mongoPortProp.split(","); MongoClientOptions opt = MongoClientOptions.builder().connectionsPerHost(250).build(); List<ServerAddress> addrs = new ArrayList<ServerAddress>(); for (int i = 0; i < mongoHostList.length; i++) { int mongoPort = Integer.parseInt(mongoPortList[i]); addrs.add(new ServerAddress(mongoHostList[i], mongoPort)); } // Auth String mongoUser = KrakenConfig.getProperty("kraken.mongodb.user", true); String mongoPwd = KrakenConfig.getProperty("kraken.mongodb.password", true); logger.info("kraken.mongodb.dbname : " + mongoName); logger.info("kraken.mongodb.user : " + mongoUser); List<MongoCredential> credentials = new ArrayList<MongoCredential>(); if (mongoUser != null) { credentials.add(MongoCredential.createMongoCRCredential(mongoUser, mongoName, mongoPwd.toCharArray())); } mongoInstance = new MongoClient(addrs, credentials, opt); return mongoInstance; }