【问题标题】:MongoDB connection refused java spring bootMongoDB连接被拒绝java spring boot
【发布时间】:2020-04-13 04:06:00
【问题描述】:

尝试在我的 Spring Boot 应用程序中连接到远程服务器中的 mongodb。
面临以下问题:

com.mongodb.MongoSocketOpenException: Exception opening socket
    at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70) ~[mongodb-driver-core-3.11.2.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:128) ~[mongodb-driver-core-3.11.2.jar:na]
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) ~[mongodb-driver-core-3.11.2.jar:na]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_91]
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_91]
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_91]
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_91]
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_91]
    at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_91]
    at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:64) ~[mongodb-driver-core-3.11.2.jar:na]
    at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) ~[mongodb-driver-core-3.11.2.jar:na]
    at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) ~[mongodb-driver-core-3.11.2.jar:na]
    ... 3 common frames omitted

在 application.properties 中使用了以下配置。

spring.data.mongodb.authentication-database=#####
spring.data.mongodb.database=####
spring.data.mongodb.port=####
spring.data.mongodb.username=####
spring.data.mongodb.password=####
spring.data.mongodb.host=####

远程服务器上的mongo db版本是3.0.3

谁能告诉我出了什么问题?

【问题讨论】:

  • 你添加了正确的端口吗?
  • 是的,我添加了正确的端口,即 27017
  • 请通过该命令检查远程服务器状态。 “sudo service MongoDB status” 如果它工作正常,那么大多数时候应用程序无法连接到远程服务器。
  • 远程机器是centos 7,但是服务正在运行。
  • 检查您的 application.properties 文件值是否正确。因为大多数情况下,当“您尚未启动服务器,您的服务器未侦听连接,在 Windows 服务器上,侦听积压队列已满”时出现此连接被拒绝异常

标签: java mongodb spring-boot


【解决方案1】:

终于成功了。只需要在iptables中设置规则-
-A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 2020-01-19
    • 2020-12-31
    • 2018-09-22
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多