【问题标题】:How can I solve this connection refuse error please?请问我该如何解决这个连接被拒绝的错误?
【发布时间】:2021-07-25 10:39:58
【问题描述】:

我正在我的 java 应用程序中连接到 MongoDB,但出现连接拒绝错误。我过去曾连接到数据库,但在大约 6 个月内没有接触过该应用程序。 com.mongodb.MongoSocketOpenException:异常打开套接字 在 com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70) ~[mongo-java-driver-3.12.8.jar:na] 原因:java.net.ConnectException:连接被拒绝

【问题讨论】:

  • “连接被拒绝”意味着在该地址没有任何监听来接受连接。所以我猜你没有运行你认为的 MongoDB 服务器。

标签: java mongodb spring-boot


【解决方案1】:

在您的 docker-compose.yml 中,您只是将 Spring Boot 应用程序与您的 mongodb 链接起来。

在您的 application.properties 中,您使用的 mongodb 不是有效的主机。

您需要为您的 spring 应用程序传递环境变量。为此,您可以在 docker-compose.yml 中执行类似的操作。

version: "3"
services:
  mymongodb:
    image: mongo:latest
    container_name: "mymongodb"
    ports:
      - 27017:27017
  spring-mongo:
    image: spring-mongo:1.0
    container_name: spring-mongo
    ports:
      - 8080:8080
    environment:
      - MONGO_HOST=mymongodb
    links:
      - mymongodb

在你的application.properties中,

spring.data.mongodb.host=${MONGO_HOST}

【讨论】:

  • 我没有运行 docker,而是 spring boot 中的嵌入式 apache tomcat,这里是错误 2021 之前的日志 --- [main] osbwembedded.tomcat.TomcatWebServer : Tomcat 在端口上启动(s): 8080 (http) with context path '' 2021-05-03 20:24:56.447 INFO 17550 --- [main] gssKafkaProjectInSprinbootApplication:在 1.804 秒内启动 KafkaProjectInSprinbootApplication(JVM 运行 2.331)2021-05-03 20:24:57.433 INFO 17550 --- [localhost:27017] org.mongodb.driver.cluster:连接到服务器 localhost:27017 时监控线程出现异常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
  • 2021-04-25
  • 1970-01-01
相关资源
最近更新 更多