Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot “如何停止”;DiscoveryClient:java.lang.IllegalStateException:Shutdown in progress“;当客户端关闭时。不能使用执行器_Spring Boot_Spring Cloud_Netflix Eureka_Netflix Ribbon - Fatal编程技术网

Spring boot “如何停止”;DiscoveryClient:java.lang.IllegalStateException:Shutdown in progress“;当客户端关闭时。不能使用执行器

Spring boot “如何停止”;DiscoveryClient:java.lang.IllegalStateException:Shutdown in progress“;当客户端关闭时。不能使用执行器,spring-boot,spring-cloud,netflix-eureka,netflix-ribbon,Spring Boot,Spring Cloud,Netflix Eureka,Netflix Ribbon,我创建了一个使用Eureka(和ribbon负载平衡)的microservice的客户端,当我连接它时,它工作正常,完成ok microservice功能,但当客户端工作完成并开始关机时,下一条消息显示: OK (service works fine) [2m2019-09-09 16:00:07.542 [0;39m [32m INFO [0;39m [35m11136 [0;39m [2m--- [0;39m [2m[ Thread-15] [0;39m [36

我创建了一个使用Eureka(和ribbon负载平衡)的microservice的客户端,当我连接它时,它工作正常,完成ok microservice功能,但当客户端工作完成并开始关机时,下一条消息显示:

    OK (service works fine)
 [2m2019-09-09 16:00:07.542 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-15] [0;39m  [36mc.n.l.PollingServerListUpdater           [0;39m  [2m: [0;39m Shutting down the Executor Pool for PollingServerListUpdater
 [2m2019-09-09 16:00:07.544 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mo.s.c.n.e.s.EurekaServiceRegistry        [0;39m  [2m: [0;39m Unregistering application IMPL-CLIENT_MIC with eureka with status DOWN
 [2m2019-09-09 16:00:07.545 [0;39m  [33m WARN [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m Saw local status change event StatusChangeEvent [timestamp=1568059207545, current=DOWN, previous=UP]
 [2m2019-09-09 16:00:07.546 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[nfoReplicator-0] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m DiscoveryClient_IMPL-CLIENT_MIC/DESKTOP-5LO0QTF:impl-CLIENT_MIC: registering service...
 [2m2019-09-09 16:00:07.567 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[nfoReplicator-0] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m DiscoveryClient_IMPL-CLIENT_MIC/DESKTOP-5LO0QTF:impl-CLIENT_MIC - registration status: 204
 [2m2019-09-09 16:00:07.581 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mc.n.u.concurrent.ShutdownEnabledTimer    [0;39m  [2m: [0;39m Shutdown hook removed for: NFLoadBalancer-PingTimer-cliente-pasivo-ms
 [2m2019-09-09 16:00:07.588 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mc.n.u.concurrent.ShutdownEnabledTimer    [0;39m  [2m: [0;39m Exception caught (might be ok if at shutdown)

java.lang.IllegalStateException: Shutdown in progress
    at java.lang.ApplicationShutdownHooks.remove(Unknown Source) ~[na:1.8.0_212]
    at java.lang.Runtime.removeShutdownHook(Unknown Source) ~[na:1.8.0_212]
    at com.netflix.util.concurrent.ShutdownEnabledTimer.cancel(ShutdownEnabledTimer.java:70) ~[netflix-commons-util-0.3.0.jar:0.3.0]
    at com.netflix.loadbalancer.BaseLoadBalancer.cancelPingTask(BaseLoadBalancer.java:632) [ribbon-loadbalancer-2.3.0.jar:2.3.0]
    at com.netflix.loadbalancer.BaseLoadBalancer.shutdown(BaseLoadBalancer.java:883) [ribbon-loadbalancer-2.3.0.jar:2.3.0]
    at com.netflix.loadbalancer.DynamicServerListLoadBalancer.shutdown(DynamicServerListLoadBalancer.java:285) [ribbon-loadbalancer-2.3.0.jar:2.3.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_212]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_212]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_212]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_212]
    at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:339) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:273) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1036) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1029) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1057) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1026) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:975) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.cloud.context.named.NamedContextFactory.destroy(NamedContextFactory.java:92) [spring-cloud-context-2.1.2.RELEASE.jar:2.1.2.RELEASE]
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:258) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1036) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1029) [spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1057) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1026) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:945) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]

 [2m2019-09-09 16:00:07.599 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m Shutting down DiscoveryClient ...
 [2m2019-09-09 16:00:10.604 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m Unregistering ...
 [2m2019-09-09 16:00:10.617 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m DiscoveryClient_IMPL-CLIENT_MIC/DESKTOP-5LO0QTF:impl-CLIENT_MIC - deregister  status: 200
 [2m2019-09-09 16:00:10.660 [0;39m  [32m INFO [0;39m  [35m11136 [0;39m  [2m--- [0;39m  [2m[      Thread-11] [0;39m  [36mcom.netflix.discovery.DiscoveryClient    [0;39m  [2m: [0;39m Completed shut down of DiscoveryClient 

然后显示“java.lang.IllegalStateException:Shutdown in progress”,如何禁用它?

您可以通过设置以下内容来抑制此错误:

logging.level.com.netflix.util.concurrent.ShutdownEnabledTimer=WARN

可能的重复项不是重复项,因为应用程序不会使用执行器,并且无法将执行器依赖项添加到该应用程序,并且关机不是由用户调用endpoint启动的,而是由endpoint启动的。在应用程序自动完成其工作后关机启动。@Xiul您找到原因了吗,为什么eureka客户端在处理请求后启动关闭过程?