最近博主在学习springcloud的时候遇到了这么一个问题,而且被折磨得死去活来痛不欲生,话不多说直接报错信息:
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
接下来是第二个报错信息:
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
博主的eureka服务端的application.properties是这样的:
server.port=7001
# eureka 服务端的名称
eureka.instance.hostname=localhost
# false表示不想注册中心注册自己
eureka.client.register-with-eureka= false
# false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
eureka.client.fetch-registry= false
# 设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
博主的eureka客户端的application.properties是这样的:
server.port=8001
spring.application.name=microservice-provider-dept
#客户端注册进eureka服务列表内
eureka.client.service-url.defaultZone=http://localhost:/7001/eureka/
终于在博主写这篇博文的时候,博主找到了错误原因。
大家可以看到博主eureka服务端的地址是
http://localhost:7001/eureka
而博主eureka客户端的地址是
http://localhost:/7001/reureka
这里就是博主为什么报错的地方了,希望诸位不要像博主这么粗心哦。
我在查阅资料的时候还发现了一种报错情况就是一些人的服务端没有写这两条:
# false表示不想注册中心注册自己
eureka.client.register-with-eureka= false
# false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
eureka.client.fetch-registry= false
为什么写这两条博主也给大家的注释说明了原因,希望大家都能找到自己的错误。
下面展示一下eureka成功注册到服务端的图例吧:
最后祝福大家在今后的编码之路上再无报错。