Spring Boot + MongoDB:如何重用连接

时间:2018-04-27 20:12:25

标签: mongodb spring-boot

我正在使用SpringBoot + MongoDB。我按如下方式创建了我的对象。 我可以在服务/控制器中@Autowrite DocumentStoreConfig对象并调用Mongo。

示例电话:

    @Autowired
    private DocumentStoreConfig docStoreConfig;
this.docStoreConfig.mongoClient().getDatabase("db_name").getCollection(collection).insertOne(doc);

问题我看到每个调用都会执行一个'new'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");
    }

}

0 个答案:

没有答案