0

I create a client of one microservice that uses Eureka (and load balancing with ribbon) and then when I connected it works fine and finish ok microservice functions but when client works finish and start shutdown, next message is show:

    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 

Then "java.lang.IllegalStateException: Shutdown in progress" is show, how may I disable it?

Xiul
  • 93
  • 1
  • 2
  • 7
  • Possible duplicate of [Spring Eureka: gently shutdown a service](https://stackoverflow.com/questions/33231664/spring-eureka-gently-shutdown-a-service) – Matthias Sep 09 '19 at 20:21
  • Is no a duplicate, because app won't use actuator and cannot be added an actuator dependency to that app, and shutdown is not initiate by an user call to endpoint instead of it, shutdown start after app finish their job automatically. – Xiul Sep 09 '19 at 21:11
  • @Xiul did you find the reason, why eureka client started shutdown process after a request handled? – Ercan Celik Oct 27 '20 at 10:22

1 Answers1

2

You can suppress this error by setting this:

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