Spring Boot + MongoDB: как повторно использовать соединения - PullRequest
0 голосов
/ 27 апреля 2018

Я использую 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");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...