Springcloud使用eureka客户端报错com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect解决方案
今天使用eureka为cloud-order-service进行服务注册,启动服务一直报错com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect,上网查询这类错误一般出现在eureka服务端自身注册问题,而我的cloud-order-service是eureka-client进行服务注册的,所有的配置都没有发现错误,最后找到原因是因为application.yml文件Eureka属性的缩进没写对所导致的。
错误的写法
server:
port: 8080
spring:
application:
name: cloud-order-service
eureka:
client:
#表示是否将自己注册进EurekaServer默认为true。
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
fetchRegistry: true
service-url:
# defaultZone: http://localhost:7001/eureka # 单机版
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka # 集群版
这样的写法是错误的,eureka属性是和server对齐的,所以应该是下面的格式。
正确的缩进
server:
port: 8080
spring:
application:
name: cloud-order-service
eureka:
client:
#表示是否将自己注册进EurekaServer默认为true。
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
fetchRegistry: true
service-url:
# defaultZone: http://localhost:7001/eureka # 单机版
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka # 集群版