WebappClassLoader: Lifecycle error : CL stopped
-----------------------------------------------
Key: AXIS-2076
URL: http://issues.apache.org/jira/browse/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 message
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 =
EngineConfigurationFactoryFinder.newFactory(servlet)
.getServerEngineConfig();
This call is passed to EngineConfigurationFactoryServlet.newFactory.(Object
param) which checks if
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/AxisServletBase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
---
dev_projects/axis121/src/org/apache/axis/transport/http/AxisServletBase.java
2005/06/22 07:05:27 1.3
+++
dev_projects/axis121/src/org/apache/axis/transport/http/AxisServletBase.java
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 @@
environment.put(AxisEngine.ENV_SERVLET_REALPATH,
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:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira