概要
Spring Data MongoDBのJavaConfigをサンプル通りに記述すると、new Mongo()
が非推奨と警告が表示される問題を解決する。
解決方法
サンプルの記述
サンプルの記述では以下の通りとなっている
@Configuration
class SampleMongoConfiguration extends AbstractMongoConfiguration {
@Override
protected String getDatabaseName() {
return "database";
}
@Override
public Mongo mongo() throws Exception {
return new Mongo(); // deprecated!!
}
}
解決
deprecateを解決したJavaConfig
@Configuration
class SampleMongoConfiguration extends AbstractMongoConfiguration {
@Override
protected String getDatabaseName() {
return "database";
}
@Override
public MongoClient mongo() throws Exception {
return new MongoClient(); // fixed
}
}
まとめ
MongoをMongoClientに変更すると非推奨である状態を解決でき、動作も問題ない。
だがAbstractMongoConfigurationは型がMongoとなっているし、この修正方法も正しいものであると担保できるドキュメントを見つけていないので書いておきながら、これをアテにしていいかは微妙なところ…
(以下のドキュメントを見てJavaも同じように変更が加えられているんだろうなぁと思いやってみたら解決しただけ…)