如何解决java springboot反应性mongodb始终使用默认的localhost而不是mongoclient uri
我有一个连接到外部MongoDB服务器的java Spring-Boot应用程序。每当我启动应用程序时,我都会看到创建了两个集群:
[ Test worker] org.mongodb.driver.cluster : Cluster created with settings {hosts=[127.0.0.1:27017],mode=SINGLE,requiredClusterType=UNKNowN,serverSelectionTimeout='30000 ms'}`
[ Test worker] org.mongodb.driver.cluster : Cluster created with settings {hosts=[<mymongo server address>:27017],serverSelectionTimeout='30000 ms'}
并随后引发错误:
[127.0.0.1:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server 127.0.0.1:27017
com.mongodb.MongoSocketopenException: Exception opening socket
at com.mongodb.internal.connection.AsynchronousSocketChannelStream$OpenCompletionHandler.Failed(AsynchronousSocketChannelStream.java:116) ~[mongodb-driver-core-4.0.5.jar:na]...
我在本地主机上没有MongoDB。
我的Mongo客户端配置:
@Configuration
public class MongoConfiguration extends AbstractReactiveMongoConfiguration {
@Value("${spring.data.mongodb.uri}")
private String mongoUri;
@Bean
public MongoClient mongoClient() {
return MongoClients.create(mongoUri);
}
@Override
protected String getDatabaseName() {
return "db_test";
}
}
Spring-boot入门班:
@EnableReactiveMongoRepositories
@SpringBootApplication(exclude = {MongoAutoConfiguration.class,MongoDataAutoConfiguration.class,MongoReactiveAutoConfiguration.class,EmbeddedMongoAutoConfiguration.class})
@ConfigurationPropertiesScan(basePackages = "com.netsurf")
@EnableConfigurationProperties
public class ConfigurationServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigurationServiceApplication.class,args);
}
}
在application.properties中,我有:
spring.data.mongodb.uri=mongodb://my_mongo_server_address
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。