Я использую SpringBoot + MongoDB. Я создал свой объект следующим образом.
Я могу @Autowrite объекта DocumentStoreConfig в моем Service / Controller и сделать вызовы Mongo.
Пример звонка:
@Autowired
private DocumentStoreConfig docStoreConfig;
this.docStoreConfig.mongoClient().getDatabase("db_name").getCollection(collection).insertOne(doc);
Проблема, которую я вижу, состоит в том, что каждый вызов выполняет «новый» MongoClient и открывает новые соединения.
Каково руководство по настройке пула ... или повторному использованию одного и того же объекта соединения, вместо того, чтобы тратить много времени на открытие совершенно нового соединения.
@Configuration
public class DocumentStoreConfig extends AbstractMongoConfiguration {
@Value("${spring.data.mongodb.uri}")
private String connectionString;
@Value("${documentstore.database}")
private String databaseName;
@Override
public String getDatabaseName() {
return this.databaseName;
}
@Override
public MongoClient mongoClient() {
System.out.println("**** \n\n\n NEW MONGO \n\n\n");
return new MongoClient(new MongoClientURI(this.connectionString));
}
public MongoCollection<Document> getFailureCollection() {
return this.mongoClient().getDatabase(this.databaseName).getCollection("failure");
}
}