场景:
在启动eureka server时,出现以下错误: (这个错误也不影响启动,每次启动都报这个错误,感觉不太好)
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
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.6.2.jar:1.6.2]
方法一:
在默认设置下,eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为:
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
这样是可以解决上述问题的,但是我们的eureka服务中心也启动了一些rest接口,所以还需要注册它自己。
方法二:
若是未禁用eureka服务注册中心的客户端注册行为,需提供service-url注册中心地址:
server.port=8097 eureka.instance.hostname=localhost
eureka.client.register-with-eureka=true #值为false
意味着自身仅作为服务器,不作为客户端,这里也是客户端
eureka.client.fetch-registry=false #值为false
意味着无需注册自身
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka