When an inner class is ued in web.xml of a web application, it gives the following error when starting up Tomcat: SEVERE: Error configuring application listener of class com.remedy.arsys.stubs.S essionDataReleaseSessionData Corresponding line in web.xml: <listener> <listener- class>com.remedy.arsys.stubs.SessionData$ReleaseSessionData</listener-class> </listener> Notice the $ in the class name. ReleaseSessionData is an inner class defined in SessionData class. It works fine with Tomcat 4. Only problem in Tomcat 5.5 Alpha.
Your listeners are inner classes? Is there a valid use case for this? Does the inner class have a public interface and a public constructor? Could you provide a war file for this?
As you can see in the error, the '$' is gone. Does it need to be encoded in your XML ? Please look more thoroughly into this before reopening the issue, and submit a test war if you cannot solve the issue. The Tomcat classloader can correctly load inner classes. BTW, the exception is logged as well, please submit stack traces.
Related to: http://issues.apache.org/bugzilla/show_bug.cgi?id=32719 ?
Yes they are related, it's an XML processing issue rather than a class loading issue. The patch in #32719 fixes the problem mentioned here.
*** This bug has been marked as a duplicate of 32719 ***