gpt4 book ai didi

java - 不再支持将 UserCredentials 与 MongoClient 一起使用

转载 作者:行者123 更新时间:2023-11-29 04:50:46 26 4
gpt4 key购买 nike

我正在尝试将我的 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 会自动找到绑定(bind)的 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>

最佳答案

我没有使用 Spring Boot,但我也遇到了这个错误。我通过使用以下配置解决了这个问题:

@Configuration
public class SpringMongoConfig {

public @Bean MongoClient mongoClient() {
return new MongoClient(new ServerAddress("127.0.0.1", 27017), new ArrayList<MongoCredential>() {

{
add(MongoCredential.createCredential("username", "dbname", "pwd".toCharArray()));
}
});
}

public @Bean MongoDbFactory mongoDbFactory() throws Exception {
return new SimpleMongoDbFactory(mongoClient(), "dbname");
}

public @Bean MongoTemplate mongoTemplate() throws Exception {
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory());
return mongoTemplate;
}

}

关于java - 不再支持将 UserCredentials 与 MongoClient 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35512830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com