【问题标题】:Mongo DB , Spring boot : Exception opening socket , Caused by: Connection refusedMongodb,Spring boot:异常打开套接字,原因:连接被拒绝
【发布时间】:2017-11-02 04:58:17
【问题描述】:

我正在使用 Spring Boot 连接到 MongoDB,但它在尝试连接时给了我一个异常,奇怪的是这之前对我有用,但突然它开始给我这个错误。 如果这是由于此端口(27017)上正在运行其他服务而导致的问题,任何人都可以帮助我,如果是这样,我怎么能发现这一点。

com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.4.2.jar:na]
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongodb-driver-core-3.4.2.jar:na]
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongodb-driver-core-3.4.2.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_45]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_45]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_45]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_45]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_45]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_45]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_45]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_45]
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongodb-driver-core-3.4.2.jar:na]
at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.4.2.jar:na]
... 3 common frames omitted

application.properties:

    spring.data.mongodb.host=localhost
    spring.data.mongodb.port=27017
    spring.data.mongodb.database=swt

pom.xml:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>2.12.3</version>
    </dependency>

【问题讨论】:

  • 您的 Mongodb 是否在 localhost 和 27017 端口上运行?很可能它已关闭或在不同的端口上运行。
  • @MohamedSanaulla,我已经重新启动了我的系统,现在它已成功连接到 mongo db。

标签: mongodb spring-boot


【解决方案1】:

我通过在虚拟机上安装 mongo 然后运行 ​​Spring boot 实例解决了这个问题。

对我来说,嵌入式 mongo 驱动程序 (de.flapdoodle.embed.mongo) 无法正常工作,因此我删除了依赖项。

安装 Mongo 并运行它

  • sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

  • echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

  • sudo apt-get 更新
  • sudo apt-get install -y mongodb-org
  • sudo service mongod 重启

运行 Spring Boot 应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 2012-03-04
    • 1970-01-01
    相关资源
    最近更新 更多