スプリング ブート アプリをクラウド ファウンドリにデプロイしようとしています。ただし、以下のエラーが表示されます。
2016-02-19T16:54:29.57+0000 [App/0] ERR Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Usage of 'UserCredentials' with 'MongoClient' is no longer supported. Please use 'MongoCredential' for 'MongoClient' or just 'Mongo'.
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.springframework.data.mongodb.core.SimpleMongoDbFactory.<init>(SimpleMongoDbFactory.java:137)
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.springframework.data.mongodb.core.SimpleMongoDbFactory.<init>(SimpleMongoDbFactory.java:78)
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.cloudfoundry.reconfiguration.org.springframework.cloud.service.document.MongoDbFactoryCreator.create(MongoDbFactoryCreator.java:46)
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.cloudfoundry.reconfiguration.org.springframework.cloud.service.document.MongoDbFactoryCreator.create(MongoDbFactoryCreator.java:35)
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.cloudfoundry.reconfiguration.org.springframework.cloud.Cloud.getServiceConnector(Cloud.java:257)
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.cloudfoundry.reconfiguration.org.springframework.cloud.Cloud.getSingletonServiceConnector(Cloud.java:167)
2016-02-19T16:54:29.57+0000 [App/0] ERR at org.cloudfoundry.reconfiguration.spring.AbstractCloudServiceBeanFactoryPostProcessor.reconfigureBean(AbstractCloudServiceBeanFactoryPostProcessor.java:119)
Spring Boot は、バインドされた Mongo サービスと、必要なすべてのユーザー資格情報と URI の詳細を自動的に検出することを理解していました。つまり、これらの変数を明示的に宣言する必要はありません。
このエラーが発生する理由と解決方法を知っている人はいますか?
これが私のJavaコードスニペットです:
@Autowired
public MongoRepository(MongoClient mongo) {
this.mongo = mongo;
}
public long insert(Document document){
MongoDatabase db = mongo.getDatabase("test");
MongoCollection<Document> coll = db.getCollection("document");
coll.insertOne(document);
}
Mongo3.0 Java ドライバーを使用しています。
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.0</version><!--$NO-MVN-MAN-VER$-->
</dependency>