Spring boot - java.net.ConnectException: Connection refused: connect

Spring boot - java.net.ConnectException: Connection refused: connect


今天启动spring boot发现 服务启动直接报错,com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
   at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]
   at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.1.jar:1.19.1]
   at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.9.3.jar:1.9.3]
   at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.1.jar:1.19.1]
   at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) ~[jersey-client-1.19.1.jar:1.19.1]
   at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) ~[jersey-client-1.19.1.jar:1.19.1]
   at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509) ~[jersey-client-1.19.1.jar:1.19.1]
   at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplicationsInternal(AbstractJerseyEurekaHttpClient.java:194) ~[eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplications(AbstractJerseyEurekaHttpClient.java:165) ~[eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137) [eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73) ~[eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) [eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137) [eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:118) ~[eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:79) ~[eureka-client-1.9.3.jar:1.9.3]
   at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) [eureka-client-1.9.3.jar:1.9.3]

解决方案

在application.properties中添加下面的代码,搞定。
具体原因是 Eureka服务注册中心会把自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为。
#是否将自己注册到Eureka Server上,默认为true
eureka.client.register-with-eureka=false
#是否从Eureka Server上获取注册信息,默认为true
eureka.client.fetch-registry=false
### Java Net ConnectException Connection Refused 错误分析 当遇到 `java.net.ConnectException: Connection refused` 错误时,通常意味着客户端尝试连接到指定的服务端口失败。服务端可能未运行、监听不同的端口或被防火墙阻止。 #### 可能原因及解决方案 #### 配置文件检查 对于基于 Spring Boot 的应用程序,在本地开发环境中常见的问题是配置文件中的数据库连接设置不正确。应当确认 `application.yml` 或者 `application.properties` 文件内的数据库地址是否为 `localhost` 或 `127.0.0.1`;如果是远程访问,则需更改为实际服务器 IP 地址[^1]。 ```yaml spring: datasource: url: jdbc:mysql://<your_server_ip>:3306/your_database_name?useSSL=false&serverTimezone=UTC username: your_username password: your_password driver-class-name: com.mysql.cj.jdbc.Driver ``` #### 数据库版本兼容性 如果使用的 MySQL 版本较新(如8.x),则应确保 JDBC URL 中包含了正确的驱动器名称 `com.mysql.cj.jdbc.Driver` 并且设置了合适的参数来匹配所用的 MySQL 版本。 #### 网络与安全组策略 还需考虑 Linux 上默认开启的安全防护措施——iptables 或 firewalld 是否拦截了外部请求。可以通过命令行工具临时禁用这些规则来进行测试: ```bash sudo systemctl stop firewalld # or for iptables sudo iptables -P INPUT ACCEPT && sudo iptables -F ``` 另外,云平台上的实例也需要开放相应的入站规则允许特定端口的数据流入[^4]。 #### Redis 绑定IP调整 针对Redis的情况,若希望接受来自其他机器的连接而非仅限于本机循环接口(`127.0.0.1`),应在 `/etc/redis.conf` 文件里修改 bind 参数以包含目标主机的实际公网或私网 IP 地址[^2]: ```conf bind 127.0.0.1 <your_private_or_public_IP> ``` #### Flink SQL 连接校验 在构建涉及实时流处理框架 Apache Flink 和关系型数据库交互的应用场景下,创建表定义语句里的各个属性都至关重要。特别是关于JDBC驱动程序的选择以及URL字符串格式化准确性等方面不可忽视[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值