axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel David Schäfer (JIRA) <>
Subject [jira] Created: (AXIS-2076) WebappClassLoader: Lifecycle error : CL stopped
Date Wed, 22 Jun 2005 09:31:17 GMT
WebappClassLoader: Lifecycle error : CL stopped

         Key: AXIS-2076
     Project: Apache Axis
        Type: Bug
  Components: Basic Architecture  
    Versions: 1.2.1    
 Environment: Tomcat 4
    Reporter: Daniel David Schäfer
    Priority: Minor

After a webapp containing the AxisServlet was reloaded (e.g. touch on the web.xml) I get the

    WebappClassLoader: Lifecycle error : CL stopped

This happens because Axis continues to use the old configuration with the old webapp-classloader.
I have located a place where a wrong parameter leads to this behaviour.

in org.apache.axis.transport.http.AxisServletBase there is a piece of code that tries to locate
the axis-configuration:

        EngineConfiguration config =

This call is passed to EngineConfigurationFactoryServlet.newFactory.(Object param) which checks
the given param is an instance of ServletConfig. Unfortunately the calling code did not provide
a ServletConfig but a HttpServlet.
I patched this in the code below.
I did not make use of the EngineConfigurationFactoryFinder instead I directly called the EngineConfigurationFactoryServlet,
because it has no risk to confuse the required configuration in this context.

RCS file: /usr/local/cvsroot/dev_projects/axis121/src/org/apache/axis/transport/http/,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- dev_projects/axis121/src/org/apache/axis/transport/http/	2005/06/22
07:05:27	1.3
+++ dev_projects/axis121/src/org/apache/axis/transport/http/	2005/06/22
07:49:29	1.4
@@ -35,6 +35,7 @@
 import org.apache.axis.EngineConfiguration;
 import org.apache.axis.components.logger.LogFactory;
 import org.apache.axis.configuration.EngineConfigurationFactoryFinder;
+import org.apache.axis.configuration.EngineConfigurationFactoryServlet;
 import org.apache.axis.server.AxisServer;
 import org.apache.axis.utils.JavaUtils;
 import org.apache.commons.logging.Log;
@@ -270,9 +271,8 @@
                             webInfPath + File.separator + "attachments");
-        EngineConfiguration config =
-            EngineConfigurationFactoryFinder.newFactory(servlet)
-                    .getServerEngineConfig();
+        EngineConfiguration config = EngineConfigurationFactoryServlet.newFactory(
+            servlet.getServletConfig()).getServerEngineConfig();
         if (config != null) {
             environment.put(EngineConfiguration.PROPERTY_NAME, config);

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message