Java 类com.mongodb.MongoClientOptions 实例源码
项目:polymorphia
文件:Tutorial.java
public static void main(String[] args) {
MongoClientOptions mongoClientOptions = new MongoClientOptions.Builder().codecRegistry(getCodecRegistry()).build();
MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017), mongoClientOptions);
MongoDatabase database = mongoClient.getDatabase("tutorial");
MongoCollection<PolymorphicPojo> collection = database.getCollection("entities").withDocumentClass(PolymorphicPojo.class);
// create some pojo
Pojo pojo = new Pojo();
pojo.setName("A nice name");
pojo.setPojos(Arrays.asList(new SubPojo(42), new SubPojo(48)));
// insert into db
collection.insertOne(pojo);
// read from db
PolymorphicPojo foundPojo = collection.find(Filters.eq("_id", pojo.getId())).first();
// output
LOGGER.debug("Found pojo {}", foundPojo);
}
项目:tephra
文件:MongoImpl.java
@Override
public void create(JSONObject config) {
String key = config.getString("key");
if (mongos.containsKey(key))
return;
String schema = config.getString("schema");
if (validator.isEmpty(schema))
throw new NullPointerException("未设置schema值[" + config + "]!");
JSONArray array = config.getJSONArray("ips");
if (array == null || array.size() == 0)
throw new NullPointerException("未设置ips值[" + config + "]!");
String username = config.getString("username");
String password = config.getString("password");
MongoClientOptions.Builder builder = MongoClientOptions.builder().connectionsPerHost(maxActive).maxWaitTime(maxWait);
List<MongoClient> list = new ArrayList<>();
for (int i = 0; i < array.size(); i++)
list.add(new MongoClient(new MongoClientURI("mongodb://" + username + ":" + password + "@" + array.getString(i) + "/" + schema, builder)));
schemas.put(key, schema);
mongos.put(key, list);
if (logger.isDebugEnable())
logger.debug("Mongo数据库[{}]初始化完成。", config);
}
项目:leopard
文件:MongoImpl.java
@SuppressWarnings("deprecation")
public void init() {
String[] list = server.split(":");
String host = list[0];
int port = Integer.parseInt(list[1]);
int connectTimeout = 1000 * 60;
MongoClientOptions options = new MongoClientOptions.Builder().connectTimeout(connectTimeout).build();
client = new MongoClient(new ServerAddress(host, port), options);
this.db = client.getDB(this.database);
if (username != null && username.length() > 0) {
if (password != null && password.length() > 0) {
db.addUser(username, password.toCharArray());
}
}
this.collection = db.getCollection(collectionName);
}
项目:mogodb-dao
文件:MongoPoolImpl.java
private MongoClientOptions getOptions() {
Builder builder = new Builder();
if (this.connectionsPerHost != null) {
builder.connectionsPerHost(connectionsPerHost);
}
if (this.threadsAllowedToBlockForConnectionMultiplier != null) {
builder.threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier);
}
if (this.maxWaitTime != null) {
builder.maxWaitTime(maxWaitTime);
}
if (this.connectTimeout != null) {
builder.connectTimeout(connectTimeout);
}
if (this.socketTimeout != null) {
builder.socketTimeout(socketTimeout);
}
if (this.socketKeepAlive != null) {
builder.socketKeepAlive(socketKeepAlive);
}
// database configure
return builder.build();
}
项目:djigger
文件:MongoConnection.java
public MongoDatabase connect(String host, int port, String user, String password) {
Builder o = MongoClientOptions.builder().serverSelectionTimeout(3000);
String databaseName = "djigger";
List<MongoCredential> credentials = new ArrayList<>();
if (user != null && password != null && !user.trim().isEmpty() && !password.trim().isEmpty()) {
credentials.add(MongoCredential.createCredential(user, databaseName, password.toCharArray()));
}
mongoClient = new MongoClient(new ServerAddress(host,port), credentials, o.build());
// call this method to check if the connection succeeded as the mongo client lazy loads the connection
mongoClient.getAddress();
db = mongoClient.getDatabase(databaseName);
return db;
}
项目:jpa-unit
文件:AbstractConfiguration.java
private Map<String, Method> createSettingsMap() {
final Map<String, Method> settingsMap = new HashMap<>();
final Method[] methods = MongoClientOptions.Builder.class.getDeclaredMethods();
for (final Method method : methods) {
if (method.getParameterTypes().length == 1) {
final Class<?> parameterType = method.getParameterTypes()[0];
// only int, string and boolean
if (int.class.equals(parameterType) || String.class.equals(parameterType) || boolean.class.equals(parameterType)) {
settingsMap.put(method.getName(), method);
}
}
}
return settingsMap;
}
项目:jpa-unit
文件:AbstractConfiguration.java
protected void setOptions(final MongoClientOptions.Builder builder, final ConfigurationPropertyRetriever propertyRetriever) {
final Map<String, Method> settingsMap = createSettingsMap();
for (final Map.Entry<String, Method> entry : settingsMap.entrySet()) {
final String value = propertyRetriever.get(entry.getKey());
if (value == null) {
continue;
}
final Method setterMethod = entry.getValue();
try {
setterMethod.invoke(builder, convertTo(entry.getValue().getParameterTypes()[0], value));
} catch (InvocationTargetException | IllegalAccessException e) {
LOG.error("Could not set options", e);
}
}
}
项目:mdw
文件:DatabaseAccess.java
private static synchronized void openMongoDbClient() {
if (mongoClient == null) {
String mongoHost = PropertyManager.getProperty(PropertyNames.MDW_MONGODB_HOST);
int mongoPort = PropertyManager.getIntegerProperty(PropertyNames.MDW_MONGODB_PORT, 27017);
int maxConnections = PropertyManager.getIntegerProperty(PropertyNames.MDW_MONGODB_POOLSIZE, PropertyManager.getIntegerProperty(PropertyNames.MDW_DB_POOLSIZE, 100));
MongoClientOptions.Builder options = MongoClientOptions.builder();
options.socketKeepAlive(true);
if (maxConnections > 100) // MongoClient default is 100 max connections per host
options.connectionsPerHost(maxConnections);
mongoClient = new MongoClient(new ServerAddress(mongoHost, mongoPort), options.build());
for (String name : mongoClient.getDatabase("mdw").listCollectionNames()) {
createMongoDocIdIndex(name);
}
LoggerUtil.getStandardLogger().info(mongoClient.getMongoClientOptions().toString());
}
}
项目:beam
文件:MongoDbIO.java
@Override
public boolean start() {
Read spec = source.spec;
MongoClientOptions.Builder optionsBuilder = new MongoClientOptions.Builder();
optionsBuilder.maxConnectionIdleTime(spec.maxConnectionIdleTime());
optionsBuilder.socketKeepAlive(spec.keepAlive());
client = new MongoClient(new MongoClientURI(spec.uri(), optionsBuilder));
MongoDatabase mongoDatabase = client.getDatabase(spec.database());
MongoCollection<Document> mongoCollection = mongoDatabase.getCollection(spec.collection());
if (spec.filter() == null) {
cursor = mongoCollection.find().iterator();
} else {
Document bson = Document.parse(spec.filter());
cursor = mongoCollection.find(bson).iterator();
}
return advance();
}
项目:polygene-java
文件:MongoDBEntityStoreMixin.java
@Override
public void activateService()
throws Exception
{
loadConfiguration();
// Create Mongo driver and open the database
MongoClientOptions options = MongoClientOptions.builder().writeConcern( writeConcern ).build();
if( username.isEmpty() )
{
mongo = new MongoClient( serverAddresses, options );
}
else
{
MongoCredential credential = MongoCredential.createMongoCRCredential( username, databaseName, password );
mongo = new MongoClient( serverAddresses, Collections.singletonList( credential ), options );
}
db = mongo.getDatabase( databaseName );
// Create index if needed
MongoCollection<Document> entities = db.getCollection( collectionName );
if( !entities.listIndexes().iterator().hasNext() )
{
entities.createIndex( new BasicDBObject( IDENTITY_COLUMN, 1 ) );
}
}
项目:ymate-platform-v2
文件:MongoDataSourceAdapter.java
public void initialize(IMongoClientOptionsHandler optionsHandler, MongoDataSourceCfgMeta cfgMeta) throws Exception {
__cfgMeta = cfgMeta;
MongoClientOptions.Builder _builder = null;
if (optionsHandler != null) {
_builder = optionsHandler.handler(cfgMeta.getName());
}
if (_builder == null) {
_builder = MongoClientOptions.builder();
}
if (StringUtils.isNotBlank(cfgMeta.getConnectionUrl())) {
__mongoClient = new MongoClient(new MongoClientURI(cfgMeta.getConnectionUrl(), _builder));
} else {
String _username = StringUtils.trimToNull(cfgMeta.getUserName());
String _password = StringUtils.trimToNull(cfgMeta.getPassword());
if (_username != null && _password != null) {
if (__cfgMeta.isPasswordEncrypted() && __cfgMeta.getPasswordClass() != null) {
_password = __cfgMeta.getPasswordClass().newInstance().decrypt(_password);
}
MongoCredential _credential = MongoCredential.createCredential(cfgMeta.getUserName(), cfgMeta.getDatabaseName(), _password == null ? null : _password.toCharArray());
__mongoClient = new MongoClient(cfgMeta.getServers(), Collections.singletonList(_credential), _builder.build());
} else {
__mongoClient = new MongoClient(cfgMeta.getServers(), _builder.build());
}
}
}
项目:mongolastic
文件:MongoConfiguration.java
private void prepareClient() {
try {
ServerAddress address = new ServerAddress(config.getMongo().getHost(), config.getMongo().getPort());
MongoClientOptions options = MongoClientOptions.builder()
.serverSelectionTimeout(5000)
.socketKeepAlive(false)
.readPreference(ReadPreference.primaryPreferred())
.sslInvalidHostNameAllowed(true)
.build();
client = connectToClient(address, options);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
System.exit(-1);
}
}
项目:edison-microservice
文件:MongoProperties.java
public MongoClientOptions toMongoClientOptions(final CodecRegistry codecRegistry) {
return builder()
.sslEnabled(sslEnabled)
.codecRegistry(codecRegistry)
.readPreference(ReadPreference.valueOf(readPreference))
.connectTimeout(connectTimeout)
.serverSelectionTimeout(serverSelectionTimeout)
.cursorFinalizerEnabled(true)
.maxWaitTime(maxWaitTime)
.maxConnectionLifeTime(connectionpool.getMaxLifeTime())
.threadsAllowedToBlockForConnectionMultiplier(connectionpool.getBlockedConnectionMultiplier())
.maxConnectionIdleTime(connectionpool.getMaxIdleTime())
.minConnectionsPerHost(connectionpool.getMinSize())
.connectionsPerHost(connectionpool.getMaxSize())
.build();
}
项目:verbum-domini
文件:PersistenceManagerImpl.java
@Override
public void startUp() {
Logger.getLogger("org.mongodb").setLevel(Level.SEVERE);
Logger.getLogger("com.mongodb").setLevel(Level.SEVERE);
AppConfiguration configuration = AppConfiguration.instance();
this.databaseName = configuration.getProperty("database.name");
if (this.databaseName == null) {
throw new VerbumDominiException("Property database.name not found in app-configuration.properties file.");
}
String connectionUrl = configuration.getProperty("mongodb.connection.url");
if (Environments.TEST.equals(configuration.getEnvironment())) {
this.databaseName = "verbum_domini_test";
connectionUrl = "mongodb://localhost";
} else if (Environments.PRODUCTION.equals(configuration.getEnvironment())) {
this.databaseName = System.getenv("MONGOLAB_DB_NAME");
connectionUrl = System.getenv("MONGOLAB_URI");
}
MongoClientOptions.Builder options = this.buildOptions(configuration);
MongoClientURI uri = new MongoClientURI(connectionUrl, options);
this.mongoClient = new MongoClient(uri);
}
项目:verbum-domini
文件:PersistenceManagerImpl.java
private MongoClientOptions.Builder buildOptions(AppConfiguration configuration) {
MongoClientOptions.Builder builder = MongoClientOptions.builder();
if (configuration.getProperty("mongodb.connection.max.per.host") != null) {
builder.connectionsPerHost(Integer.parseInt(configuration.getProperty("mongodb.connection.max.per.host")));
}
if (configuration.getProperty("mongodb.connection.min.per.host") != null) {
builder.minConnectionsPerHost(Integer.parseInt(configuration.getProperty("mongodb.connection.min.per.host")));
}
if (configuration.getProperty("mongodb.connection.life.time") != null) {
builder.maxConnectionLifeTime(Integer.parseInt(configuration.getProperty("mongodb.connection.life.time")));
}
if (configuration.getProperty("mongodb.connection.timeout") != null) {
builder.connectTimeout(Integer.parseInt(configuration.getProperty("mongodb.connection.timeout")));
}
return builder.codecRegistry(this.buildCodecRegistries());
}
项目:bluemix-cloud-connectors
文件:ComposeForMongoDBInstanceCreatorTest.java
@Test
public void testCreate() {
final String test1_hostname = "example.com";
final String test1_username = "username";
final String test1_password = "password";
final String test1_database = "database";
final List<ServerAddress> servers = ImmutableList.of(
new ServerAddress(test1_hostname)
);
final List<MongoCredential> credentials = ImmutableList.of(
MongoCredential.createCredential(test1_username, test1_database, test1_password.toCharArray())
);
final MongoClientOptions options = new MongoClientOptions.Builder().build();
final ComposeForMongoDBServiceInfo serviceInfo
= new ComposeForMongoDBServiceInfo("id", servers, credentials, options);
assertTrue(creator.create(serviceInfo, new ServiceConnectorConfig() {
}) instanceof MongoClient);
}
项目:mongofx
文件:MongoService.java
public MongoDbConnection connect(ConnectionSettings connectionSettings) {
StringBuilder authString = new StringBuilder();
String user = connectionSettings.getUser();
if (user != null && !user.isEmpty()) {
authString.append(user);
String password = connectionSettings.getPassword();
if (password != null && !password.isEmpty()) {
authString.append(":").append(password);
}
authString.append("@");
}
String uri = String.format("mongodb://%s%s", authString, connectionSettings.getHost());
Builder options = MongoClientOptions.builder().serverSelectionTimeout(10000);
MongoClient client = new MongoClient(new MongoClientURI(uri, options));
MongoConnection mongoConnection = new MongoConnection(client);
return new MongoDbConnection(mongoConnection, connectionSettings);
}
项目:crowdsource
文件:MongoDBConfig.java
@Override
public Mongo mongo() throws Exception {
List<ServerAddress> serverAddresses = hosts.stream()
.map(this::createServerAddress)
.collect(toList());
LOG.info("Connecting to DB hosts: {}...", serverAddresses);
if (serverAddresses.size() == 1) {
// create a mongo client that connects to a single database,
// this is NOT the same as calling the constructor with a list of ServerAddresses with only one element!
return new MongoClient(serverAddresses.get(0), mongoCredentials());
} else {
// create a mongo client that connects to a replicaset
MongoClientOptions options = MongoClientOptions.builder()
.writeConcern(WriteConcern.ACKNOWLEDGED)
.build();
return new MongoClient(serverAddresses, mongoCredentials(), options);
}
}
项目:leopard-data
文件:MongoImpl.java
@SuppressWarnings("deprecation")
public void init() {
String[] list = server.split(":");
String host = list[0];
int port = Integer.parseInt(list[1]);
int connectTimeout = 1000 * 60;
MongoClientOptions options = new MongoClientOptions.Builder().connectTimeout(connectTimeout).build();
client = new MongoClient(new ServerAddress(host, port), options);
this.db = client.getDB(this.database);
if (username != null && username.length() > 0) {
if (password != null && password.length() > 0) {
db.addUser(username, password.toCharArray());
}
}
this.collection = db.getCollection(collectionName);
}
项目:morphia-demo
文件:MongoDB.java
private MongoDB() {
MongoClientOptions mongoOptions = MongoClientOptions.builder()
.socketTimeout(60000) // Wait 1m for a query to finish, https://jira.mongodb.org/browse/JAVA-1076
.connectTimeout(15000) // Try the initial connection for 15s, http://blog.mongolab.com/2013/10/do-you-want-a-timeout/
.maxConnectionIdleTime(600000) // Keep idle connections for 10m, so we discard failed connections quickly
.readPreference(ReadPreference.primaryPreferred()) // Read from the primary, if not available use a secondary
.build();
MongoClient mongoClient;
mongoClient = new MongoClient(new ServerAddress(DB_HOST, DB_PORT), mongoOptions);
mongoClient.setWriteConcern(WriteConcern.SAFE);
datastore = new Morphia().mapPackage(BaseEntity.class.getPackage().getName())
.createDatastore(mongoClient, DB_NAME);
datastore.ensureIndexes();
datastore.ensureCaps();
LOG.info("Connection to database '" + DB_HOST + ":" + DB_PORT + "/" + DB_NAME + "' initialized");
}
项目:mongowp
文件:MongoClientWrapper.java
@Inject
public MongoClientWrapper(MongoClientConfiguration configuration) throws
UnreachableMongoServerException {
try {
MongoClientOptions options = toMongoClientOptions(configuration);
ImmutableList<MongoCredential> credentials = toMongoCredentials(configuration);
testAddress(configuration.getHostAndPort(), options);
this.configuration = configuration;
this.driverClient = new com.mongodb.MongoClient(
new ServerAddress(
configuration.getHostAndPort().getHostText(),
configuration.getHostAndPort().getPort()),
credentials,
options
);
version = calculateVersion();
codecRegistry = CodecRegistries.fromCodecs(new DocumentCodec());
closed = false;
} catch (com.mongodb.MongoException ex) {
throw new UnreachableMongoServerException(configuration.getHostAndPort(), ex);
}
}
项目:sample_spring-boot-camel-mongo-jdk8
文件:PersistenceConfiguration.java
/**
* Customize the MongoDB client connection properties.
*
* @return A {@link MongoClientOptions} bean that is used by the {@link
* org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration} when creating the {@link
* com.mongodb.Mongo} facade
* @see MongoClientOptions
* @see org.springframework.core.env.Environment
*/
@Bean
public MongoClientOptions mongoClientOptions(
@Value("${spring.data.mongodb.min-connections:2}") final int minConnections,
@Value("${spring.data.mongodb.max-connections:10}") final int maxConnections,
@Value("${spring.data.mongodb.socket-connect.ms:5000}") final int connectTimeout,
@Value("${spring.data.mongodb.socket-timeout.ms:5000}") final int socketTimeout) {
return MongoClientOptions.builder()
.legacyDefaults()
.minConnectionsPerHost(minConnections)
.connectionsPerHost(maxConnections)
.connectTimeout(connectTimeout)
.socketTimeout(socketTimeout)
.build();
}
项目:lightblue-mongo
文件:MongoConfiguration.java
/**
* Returns an options object with defaults overriden where there is a valid
* override.
*
* @return
*/
public MongoClientOptions getMongoClientOptions() {
MongoClientOptions.Builder builder = MongoClientOptions.builder();
if (connectionsPerHost != null) {
builder.connectionsPerHost(connectionsPerHost);
}
if (this.readPreference != null) {
builder.readPreference(readPreference);
}
if (ssl) {
// taken from MongoClientURI, written this way so we don't have to
// construct a URI to connect
builder.socketFactory(getSocketFactory());
}
builder.writeConcern(writeConcern);
return builder.build();
}
项目:dropwizard-mongodb
文件:MongoClientFactoryTest.java
public void correctlyExtractsMongoClientFromConfiguration() throws Exception {
final Example example = factory.build(testFile);
final MongoClient client = example.getMongoClient().build(environment);
assertThat(client.getAddress().getHost()).isIn("localhost", "127.0.0.1");
assertThat(client.getAddress().getPort()).isEqualTo(ServerAddress.defaultPort());
assertThat(client.getCredentialsList()).isEmpty();
final MongoClientOptions options = client.getMongoClientOptions();
assertThat(options.getDbDecoderFactory()).isEqualTo(DefaultDBDecoder.FACTORY);
assertThat(options.getDbEncoderFactory()).isEqualTo(DefaultDBEncoder.FACTORY);
assertThat(options.getReadPreference()).isEqualTo(ReadPreference.primary());
assertThat(options.getWriteConcern()).isEqualTo(WriteConcern.ACKNOWLEDGED);
assertThat(options.getSocketFactory()).isEqualTo(SocketFactory.getDefault());
}
项目:calcite
文件:MongoSchemaFactory.java
public Schema create(SchemaPlus parentSchema, String name,
Map<String, Object> operand) {
final String host = (String) operand.get("host");
final String database = (String) operand.get("database");
final String authMechanismName = (String) operand.get("authMechanism");
final MongoClientOptions.Builder options = MongoClientOptions.builder();
final List<MongoCredential> credentials = new ArrayList<>();
if (authMechanismName != null) {
final MongoCredential credential = createCredentials(operand);
credentials.add(credential);
}
return new MongoSchema(host, database, credentials, options.build());
}
项目:bugu-mongo
文件:ReplicaSetBaseTest.java
protected void connectDBWithOptions(MongoClientOptions options){
List<ServerAddress> serverList = new ArrayList<ServerAddress>();
try {
serverList.add(new ServerAddress("192.168.0.200", 27017));
serverList.add(new ServerAddress("192.168.0.200", 27018));
serverList.add(new ServerAddress("192.168.0.200", 27019));
} catch (UnknownHostException ex) {
ex.printStackTrace();
}
List<MongoCredential> credentialList = new ArrayList<MongoCredential>();
MongoCredential credentialA = MongoCredential.createCredential("test", "test", "test".toCharArray());
MongoCredential credentialB = MongoCredential.createCredential("test", "test", "test".toCharArray());
MongoCredential credentialC = MongoCredential.createCredential("test", "test", "test".toCharArray());
credentialList.add(credentialA);
credentialList.add(credentialB);
credentialList.add(credentialC);
BuguConnection conn = BuguFramework.getInstance().createConnection();
conn.setOptions(options);
conn.setServerList(serverList);
conn.setCredentialList(credentialList);
conn.setDatabase("test");
conn.connect();
}
项目:bugu-mongo
文件:ReplicaSetBaseTest.java
protected void connectDBWithOptions(MongoClientOptions options){
List<ServerAddress> serverList = new ArrayList<ServerAddress>();
try {
serverList.add(new ServerAddress("192.168.0.200", 27017));
serverList.add(new ServerAddress("192.168.0.200", 27018));
serverList.add(new ServerAddress("192.168.0.200", 27019));
} catch (UnknownHostException ex) {
ex.printStackTrace();
}
List<MongoCredential> credentialList = new ArrayList<MongoCredential>();
MongoCredential credentialA = MongoCredential.createCredential("test", "test", "test".toCharArray());
MongoCredential credentialB = MongoCredential.createCredential("test", "test", "test".toCharArray());
MongoCredential credentialC = MongoCredential.createCredential("test", "test", "test".toCharArray());
credentialList.add(credentialA);
credentialList.add(credentialB);
credentialList.add(credentialC);
BuguConnection conn = BuguFramework.getInstance().createConnection();
conn.setOptions(options);
conn.setServerList(serverList);
conn.setCredentialList(credentialList);
conn.setDatabase("test");
conn.connect();
}
项目:bearchoke
文件:MongoLocalConfig.java
@Bean
public MongoClient mongo() throws UnknownHostException {
// location of db
ServerAddress sa = new ServerAddress(
environment.getProperty("mongodb.host"),
environment.getProperty("mongodb.port", Integer.class)
);
// set optional default parameters here
MongoClientOptions.Builder builder = MongoClientOptions.builder();
// none yet
MongoClientOptions options = builder.build();
return new MongoClient(sa, options);
}
项目:lumongo
文件:UIQueryServiceImpl.java
@Override
public void init() throws ServletException {
super.init();
try {
LumongoPoolConfig lumongoPoolConfig = new LumongoPoolConfig().addMember("localhost").setDefaultRetries(2);
lumongoPoolConfig.setMemberUpdateEnabled(false);
lumongoWorkPool = new LumongoWorkPool(lumongoPoolConfig);
Properties properties = new Properties();
properties.load(UIQueryServiceImpl.class.getResourceAsStream("/version.properties"));
lumongoVersion = properties.getProperty("lumongoVersion");
luceneVersion = properties.getProperty("luceneVersion");
MongoClientOptions mongoClientOptions = MongoClientOptions.builder().connectionsPerHost(32).build();
MongoClient mongoClient = new MongoClient("localhost", mongoClientOptions);
Morphia morphia = new Morphia();
morphia.map(UIQueryObject.class);
datastore = morphia.createDatastore(mongoClient, QUERY_HISTORY);
datastore.ensureIndexes();
}
catch (Exception e) {
LOG.error("Failed to initiate lumongo work pool.", e);
}
}
项目:carbon-data
文件:MongoConfig.java
private MongoClientOptions extractMongoOptions(Map<String, String> properties) {
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
String connectionsPerHost = properties.get(DBConstants.MongoDB.CONNECTIONS_PER_HOST);
if (!DBUtils.isEmptyString(connectionsPerHost)) {
builder.connectionsPerHost(Integer.parseInt(connectionsPerHost));
}
String maxWaitTime = properties.get(DBConstants.MongoDB.MAX_WAIT_TIME);
if (!DBUtils.isEmptyString(maxWaitTime)) {
builder.maxWaitTime(Integer.parseInt(maxWaitTime));
}
String connectTimeout = properties.get(DBConstants.MongoDB.CONNECT_TIMEOUT);
if (!DBUtils.isEmptyString(connectTimeout)) {
builder.connectTimeout(Integer.parseInt(connectTimeout));
}
String socketTimeout = properties.get(DBConstants.MongoDB.SOCKET_TIMEOUT);
if (!DBUtils.isEmptyString(socketTimeout)) {
builder.socketTimeout(Integer.parseInt(socketTimeout));
}
String threadsAllowedToBlockForConnectionMultiplier = properties.get(
DBConstants.MongoDB.THREADS_ALLOWED_TO_BLOCK_CONN_MULTIPLIER);
if (!DBUtils.isEmptyString(threadsAllowedToBlockForConnectionMultiplier)) {
builder.threadsAllowedToBlockForConnectionMultiplier(
Integer.parseInt(threadsAllowedToBlockForConnectionMultiplier));
}
return builder.build();
}
项目:data_crawler_generic
文件:MongoDB.java
/**
* init mongo client as the singleton
*/
public MongoDB(){
try{
mongoClient = new MongoClient(new ServerAddress(serverName),
Arrays.asList(MongoCredential.createMongoCRCredential(username, databaseName,password.toCharArray())),
new MongoClientOptions.Builder().cursorFinalizerEnabled(false).build());
db = mongoClient.getDB(databaseName);
db.authenticate(username, password.toCharArray());
}
catch (Exception e)
{
e.printStackTrace();
}
}
项目:jooby
文件:Mongodb.java
private MongoClientOptions.Builder options(final Config config) {
MongoClientOptions.Builder builder = MongoClientOptions.builder();
builder.connectionsPerHost(config.getInt("connectionsPerHost"));
builder.threadsAllowedToBlockForConnectionMultiplier(
config.getInt("threadsAllowedToBlockForConnectionMultiplier"));
builder.maxWaitTime((int) config.getDuration("maxWaitTime", TimeUnit.MILLISECONDS));
builder.connectTimeout((int) config.getDuration("connectTimeout", TimeUnit.MILLISECONDS));
builder.socketTimeout((int) config.getDuration("socketTimeout", TimeUnit.MILLISECONDS));
builder.socketKeepAlive(config.getBoolean("socketKeepAlive"));
builder.cursorFinalizerEnabled(config.getBoolean("cursorFinalizerEnabled"));
builder.alwaysUseMBeans(config.getBoolean("alwaysUseMBeans"));
builder.heartbeatFrequency(config.getInt("heartbeatFrequency"));
builder.minHeartbeatFrequency(config.getInt("minHeartbeatFrequency"));
builder.heartbeatConnectTimeout(
(int) config.getDuration("heartbeatConnectTimeout", TimeUnit.MILLISECONDS));
builder.heartbeatSocketTimeout(
(int) config.getDuration("heartbeatSocketTimeout", TimeUnit.MILLISECONDS));
return builder;
}
项目:cas-5.1.0
文件:MongoDbCloudConfigBootstrapConfiguration.java
@Bean
public MongoClientOptions mongoClientOptions() {
try {
final MongoClientOptionsFactoryBean bean = new MongoClientOptionsFactoryBean();
bean.setSocketTimeout(TIMEOUT);
bean.setConnectTimeout(TIMEOUT);
bean.afterPropertiesSet();
return bean.getObject();
} catch (final Exception e) {
throw new BeanCreationException(e.getMessage(), e);
}
}
项目:cas-5.1.0
文件:Beans.java
/**
* New mongo db client options.
*
* @param mongo the mongo
* @return the mongo client options
*/
public static MongoClientOptions newMongoDbClientOptions(final AbstractMongoInstanceProperties mongo) {
try {
return newMongoDbClientOptionsFactoryBean(mongo).getObject();
} catch (final Exception e) {
throw new BeanCreationException(e.getMessage(), e);
}
}
项目:wechat-mall
文件:MongoV3.java
public MongoV3(List<ServerAddress> servers, List<MongoCredential> authors) {
Builder options = new MongoClientOptions.Builder();
options.connectionsPerHost(50);// 连接池设置为300个连接,默认为100
options.connectTimeout(15000);// 连接超时,推荐>3000毫秒
options.maxWaitTime(5000); //
options.socketTimeout(500);
options.writeConcern(WriteConcern.W2);
con = new MongoClient(servers, authors, options.build());
setMongoConnect(this);
}
项目:only-short-poc
文件:MongoConfig.java
/**
* Override client options in order to make the timeout shorter.
* More on timeouts here: https://scalegrid.io/blog/understanding-mongodb-client-timeout-options/
*/
@Bean
public MongoClientOptions mongoClientOptions() {
return MongoClientOptions.builder()
// timeout for selecting a server to execute operation on
.serverSelectionTimeout(3000)
// after server selection, tries to connect to server
.socketTimeout(3000)
.build();
}
项目:spring-multitenancy
文件:MongoConnectionManagement.java
private MongoClient createMongoClient(MongoDataSourceSetting setting) {
ServerAddress host = new ServerAddress(setting.getUrl(), setting.getPort());
MongoClientOptions options = createMongoOptions(setting);
if(shouldAuthenticate(setting)){
return new MongoClient(host, Arrays.asList(createMongoCredential(setting)), options);
}
return new MongoClient(host, options);
}
项目:spring-multitenancy
文件:MongoConnectionManagement.java
private MongoClientOptions createMongoOptions(MongoDataSourceSetting setting){
Builder option = MongoClientOptions.builder()
.writeConcern(setting.getWriteConcern())
.connectionsPerHost(setting.getConnectionsPerHost())
.socketKeepAlive(setting.getSocketKeepAlive());
return option.build();
}
项目:Indra
文件:MongoIndraDriverIT.java
@BeforeTest
private void configure() {
final String mongoURI = System.getProperty("indra.mongoURI");
if (mongoURI == null) {
Assert.fail("System.getProperty(\"indra.mongoURI\") is null. Provide a mongoURI to execute the integration test.");
}
MongoClientOptions builder = MongoClientOptions.builder().serverSelectionTimeout(5000).build();
MongoClient mongoClient = new MongoClient(mongoURI, builder);
vectorSpaceFactory = new MongoVectorSpaceFactory(mongoClient);
translatorFactory = new MongoTranslatorFactory(mongoClient);
}
项目:database-transform-tool
文件:MongoDBFactory.java
/**
* @decription 初始化配置
* @author yi.zhang
* @time 2017年6月2日 下午2:15:57
*/
public void init(String servers,String database,String schema,String username,String password) {
try {
List<ServerAddress> saddress = new ArrayList<ServerAddress>();
if (servers != null && !"".equals(servers)) {
for (String server : servers.split(",")) {
String[] address = server.split(":");
String ip = address[0];
int port = 27017;
if (address != null && address.length > 1) {
port = Integer.valueOf(address[1]);
}
saddress.add(new ServerAddress(ip, port));
}
}
MongoCredential credential = MongoCredential.createScramSha1Credential(username, database,password.toCharArray());
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(credential);
Builder builder = new MongoClientOptions.Builder();
builder.maxWaitTime(MAX_WAIT_TIME);
// 通过连接认证获取MongoDB连接
MongoClient client = new MongoClient(saddress, credentials, builder.build());
// 连接到数据库
session = client.getDatabase(schema);
} catch (Exception e) {
logger.error("-----MongoDB Config init Error-----", e);
}
}