クラスを拡張することで独自の MongoClient を作成できますが、それは本当に必要なのでしょうか? 必ずしも。
MongoClientOptions は、設定できるプロパティのリストを提供します
MongoClient の次のコンストラクターを使用します。
public MongoClient(List serveraddress, List credentialsList, MongoClientOptions options) { super(seeds, credentialsList, options); }
資格情報のリスト、サーバーアドレスのリスト、およびそれらのオプションを渡します。
MongoClient を使用して SimpleMongoDBFactory を作成する
最後に、MongoDbFactory を使用して MongoTemplate を作成します。
すべてをまとめるには:
@Bean(destroyMethod="close")
MongoClient mongoClient(MongoClientOptions mongoClientOptions){
MongoClient mongoClient=new MongoClient(serverAddresses(),credentails(),mongoClientOptions);
return mongoClient;
}
@Bean
public MongoClientOptions mongoClientOptions(){
MongoClientOptions.Builder builder = MongoClientOptions.builder();
MongoClientOptions options=builder.sslEnabled(true).build();
return options;
}
@Bean
public MongoDbFactory mongoDbFactory(MongoClientOptions mongoClientOptions) throws Exception {
return new SimpleMongoDbFactory(mongoClient(mongoClientOptions), "yourdb");
}
@Bean
public MongoTemplate mongoTemplate(MongoClientOptions mongoClientOptions) throws Exception {
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory(mongoClientOptions));
return mongoTemplate;
}