LoginSignup
1
1

More than 5 years have passed since last update.

Spring Data MongoDBの設定でnew Mongo()が非推奨と怒られる

Posted at

概要

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も同じように変更が加えられているんだろうなぁと思いやってみたら解決しただけ…)

FuelPHP 1.7でMongo_Db::__construct()の挙動が変わった

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1