Spring Cloud-启动关闭时不要发送心跳

时间:2018-09-07 12:34:58

标签: spring-boot spring-cloud netflix-eureka spring-cloud-netflix

我正在通过其执行器/关闭端点同时向eureka服务器及其发现客户端发布关闭请求。

有时,发现客户端尝试在启动关闭后且eureka服务器已经关闭后, 向eureka服务器发送心跳。然后引发异常

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
        at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getDelta(EurekaHttpClientDecorator.java:149)
        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$7.execute(EurekaHttpClientDecorator.java:152)
        at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getDelta(EurekaHttpClientDecorator.java:149)
        at com.netflix.discovery.DiscoveryClient.getAndUpdateDelta(DiscoveryClient.java:1085)
        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:967)
        at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1473)
        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1440)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

如何在关机期间抑制心跳?

版本:
-弹簧靴:2.0.0.RELEASE
-Spring Cloud Starter NetFlix Eureka客户端:2.0.0.BUILD-SNAPSHOT

感谢您的帮助

编辑

我现在正在定义一个方面,该方面在eurekaserver上的关闭启动之前,是否仍在eurekaserver上注册了状态为“ UP”的任何应用程序。现在我真的很惊讶,尽管启用了它,但在eurekaserver上找不到/ actuator / endpoint

management.endpoint.shutdown.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

0 个答案:

没有答案