我正在使用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");
}
}