Can't redeploy .WAR that uses Axis in Glassfish 3

ぐ巨炮叔叔 提交于 2019-12-13 03:24:34

问题


I have a J2EE web application that instantiates an Apache Axis SOAP client proxy as a Spring bean.

When I deploy the application into a Glassfish 3 server for the first time, it succeeds. However, if I undeploy and redeploy the application, I get the following error (at the bottom of the Spring stacktrace):

Instantiation of bean failed; nested exception is 
org.springframework.beans.factory.BeanDefinitionStoreException: Factory method
[com.foo.bar.FooServicePortType com.foo.bar.config.ApplicationConfig.backendService()] threw exception;
nested exception is java.lang.RuntimeException: 
java.lang.IllegalStateException: WEB9031: WebappClassLoader unable to load resource
[META-INF/services/org.apache.axis.EngineConfigurationFactory],
because it has not yet been started, or was already stopped

If I restart the domain and redeploy, it succeeds again.

Any ideas why this is happening?


回答1:


This was caused by a classloader leak in the Axis library. The easiest fix is to deploy the Axis jars into the application itself and not as part of the shared domain libraries.



来源:https://stackoverflow.com/questions/3532262/cant-redeploy-war-that-uses-axis-in-glassfish-3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!