Tomcat正常关闭期间的NoClassDefFoundError

时间:2016-02-05 01:36:41

标签: java hadoop tomcat solr apache-curator

我们在Tomcat正常关闭过程中获取NoClassDefFoundErrors(即使用catalina.sh stop命令)。我们使用的是Tomcat 6.0.44版。

请注意,此错误无法一致地再现。 Another question在执行JVM关闭挂钩期间建议类加载器相关的问题。但在这种情况下,在执行ServletFilter::destroy(...)方法期间会引发错误。

请您提供任何见解?

java.lang.NoClassDefFoundError: com/google/common/cache/RemovalCause
        at com.google.common.cache.LocalCache$Segment.remove(LocalCache.java:3147)
        at com.google.common.cache.LocalCache.remove(LocalCache.java:4236)
        at org.apache.curator.framework.imps.NamespaceWatcherMap.remove(NamespaceWatcherMap.java:71)
        at org.apache.curator.framework.imps.CuratorFrameworkImpl.clearWatcherReferences(CuratorFrameworkImpl.java:189)
        at org.apache.curator.framework.recipes.cache.PathChildrenCache.close(PathChildrenCache.java:376)
        at org.apache.hadoop.security.token.delegation.ZKDelegationTokenSecretManager.stopThreads(ZKDelegationTokenSecretManager.java:456)
        at org.apache.hadoop.security.token.delegation.web.DelegationTokenManager.destroy(DelegationTokenManager.java:152)
        at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler.destroy(DelegationTokenAuthenticationHandler.java:153)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.destroy(AuthenticationFilter.java:401)
        at org.apache.solr.servlet.SolrHadoopAuthenticationFilter.destroy(SolrHadoopAuthenticationFilter.java:177)
        at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:360)
        at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4111)
        at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4880)
        at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1279)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:307)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1392)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1656)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1665)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1645)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.google.common.cache.RemovalCause
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)

0 个答案:

没有答案