讨论区 » AAS-V10企业版 »
服务重启 应用仍无法访问
现象:某个时间点重启中间件后,应用无法正常访问,之后每次重启服务都未生效
异常信息:后台日志无明显异常
分析:通过抓取堆栈得到:
"RunLevelControllerThread-1677652295191" #45 daemon prio=5 os_prio=0 tid=0x0000fffe0c004800 nid=0x484db in Object.wait() [0x0000fffe22bfb000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Thread.join(Thread.java:1252)
- locked <0x000000008162fcb0> (a com.apusic.enterprise.aas.bootstrap.ApusicMain$Launcher$1)
at java.lang.Thread.join(Thread.java:1326)
at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:107)
at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
at java.lang.Shutdown.runHooks(Shutdown.java:123)
at java.lang.Shutdown.sequence(Shutdown.java:167)
at java.lang.Shutdown.exit(Shutdown.java:212)
- locked <0x000000008151aad8> (a java.lang.Class for java.lang.Shutdown)
at java.lang.Runtime.exit(Runtime.java:110)
at java.lang.System.exit(System.java:973)
at com.infoda.framework.security.filter.CustomFilter.demoEnabled(CustomFilter.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
通过堆栈文件 可以看到系统的exit方法被调用了,这个可能是导致应用一直无法访问的原因
而infoda的demoEnabled调用了 系统的exit方法
通过咨询应用厂商得知,这个是他们一个有效期验证的服务,后续通过重新部署此infoda应用 即可