我正在尝试将我的 Spring Boot 应用程序部署到 Cloud Foundry。但是我收到以下错误。
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>