Thanks Wes. Pardon me if I ask one more time, but I do not get this. Someone reports an issue posts the stacktrace above. Someone goes in and decides this is not a bug in struts2 because there is obviously a solution to the issue not related to struts2 (this is only my assumption) marks the bug solved. But does not bother to even put a link to the solution??? I feel you when you say you only want to track Bugs inhere but still I assume helping developers comes first and this is the first result you find when searching for this issue on Google.
Further the stacktrace indicates this is a CNF in a struts2 class , org.apache.struts2.dispatcher.Dispatcher.cleanup how can this not be a defect of struts2?
> java.lang.NoClassDefFoundError: org/apache/struts2/util/ObjectFactoryDestroyable exception periodically or when reloading the web application
> ---------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WW-2921
> URL:
https://issues.apache.org/struts/browse/WW-2921> Project: Struts 2
> Issue Type: Bug
> Components: Dispatch Filter
> Affects Versions: 2.1.2
> Environment: Tomcat 6.0.18
> Reporter: Tom Nguyen
>
> I've already have WebRoot\WEB-INF\lib\struts2-core-2.1.2.jar contains the ObjectFactoryDestroyable interface. But when I reload the webapp or redeploy, tomcat throws this exception.
> Dec 17, 2008 8:32:43 PM org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor processC
> hildren
> SEVERE: Exception invoking periodic operation:
> java.lang.NoClassDefFoundError: org/apache/struts2/util/ObjectFactoryDestroyable
> at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:257)
> at org.apache.struts2.dispatcher.FilterDispatcher.destroy(FilterDispatcher.java:221)
> at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:332
> )
> at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:3744)
> at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4513)
> at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1108)
> at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1214)
> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(Conta
> inerBase.java:1601)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(Conta
> inerBase.java:1610)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.jav
> a:1590)
> at java.lang.Thread.run(Thread.java:619)
> Dec 17, 2008 8:32:43 PM org.apache.catalina.core.StandardContext reload
> INFO: Reloading this Context has started
> Dec 17, 2008 8:32:43 PM org.apache.catalina.core.ContainerBase stop
> INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/forumnomics].[jsp] h
> as not been started
> Dec 17, 2008 8:32:43 PM org.apache.catalina.core.ContainerBase stop
> INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/forumnomics].[defaul
> t] has not been started
> Dec 17, 2008 8:32:43 PM org.apache.catalina.core.ContainerBase backgroundProcess
> WARNING: Exception processing loader WebappLoader[/forumnomics] background process
> java.lang.NullPointerException
> at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:
> 2001)
> at org.apache.catalina.loader.WebappClassLoader.findResource(WebappClassLoader.java:961)
> at org.apache.catalina.loader.WebappClassLoader.getResource(WebappClassLoader.java:1096)
> at com.opensymphony.xwork2.util.ClassLoaderUtil.getResource(ClassLoaderUtil.java:83)
> at com.opensymphony.xwork2.util.location.LocationUtils.getLocation(LocationUtils.java:288)
> at com.opensymphony.xwork2.util.location.LocationUtils.getLocation(LocationUtils.java:202)
> at com.opensymphony.xwork2.XWorkException.<init>(XWorkException.java:93)
> at com.opensymphony.xwork2.XWorkException.<init>(XWorkException.java:76)
> at com.opensymphony.xwork2.config.ConfigurationException.<init>(ConfigurationException.java:
> 64)
> at org.apache.struts2.config.DefaultPropertiesProvider.register(DefaultPropertiesProvider.ja
> va:47)
> at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfigura
> tion.java:156)
> at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManage
> r.java:252)
> at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager
> .java:61)
> at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)
> at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:242)
> at org.apache.struts2.dispatcher.FilterDispatcher.destroy(FilterDispatcher.java:261)
> at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:332
> )
> at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:3744)
> at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4513)
> at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3093)
> at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
> at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(Conta
> inerBase.java:1601)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(Conta
> inerBase.java:1610)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(Conta
> inerBase.java:1610)
> at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.jav
> a:1590)
> at java.lang.Thread.run(Thread.java:619)
> Dec 17, 2008 8:32:46 PM org.apache.coyote.http11.Http11Protocol pause
> INFO: Pausing Coyote HTTP/1.1 on http-8080
> Dec 17, 2008 8:32:47 PM org.apache.catalina.core.StandardService stop
> INFO: Stopping service Catalina
> Dec 17, 2008 8:32:47 PM org.apache.catalina.core.ContainerBase stop
> INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/price].[jsp] has not
> been started
> Dec 17, 2008 8:32:47 PM org.apache.catalina.core.ContainerBase stop
> INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/price].[default] has
> not been started
> Dec 17, 2008 8:32:47 PM org.apache.catalina.startup.HostConfig undeployApps
> WARNING: Error while removing context [/price]
> java.lang.NoClassDefFoundError: org/apache/struts2/util/ObjectFactoryDestroyable