CDV ❯ Terracotta does not work with axis2
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Fixed
-
Sessions
-
-
hhuynh
-
Reporter: tindor
-
November 21, 2007
-
0
-
Watchers: 1
-
January 30, 2008
-
January 11, 2008
Attachments
Description
The bug description can be seen at this url : http://forums.terracotta.org/forums/posts/list/592.page
In short - axis2 does not work in a clustered environment. Axis is deployed following these steps : http://wso2.org/library/90
The exception I get during tomcat startup is :
Error: java.lang.NoClassDefFoundError: com/tc/object/dna/api/DNA at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2395) at java.lang.Class.getDeclaredMethods(Class.java:1763) at org.codehaus.jam.internal.reflect.ReflectClassBuilder.populate(ReflectClassBuilder.java:105) at org.codehaus.jam.internal.elements.ClassImpl.ensureLoaded(ClassImpl.java:674) at org.codehaus.jam.internal.elements.ClassImpl.getSuperclass(ClassImpl.java:147) at org.apache.ws.java2wsdl.SchemaGenerator.generateSchema(SchemaGenerator.java:357) at org.apache.ws.java2wsdl.SchemaGenerator.generateSchemaForType(SchemaGenerator.java:589) at org.apache.ws.java2wsdl.SchemaGenerator.generateSchema(SchemaGenerator.java:297) at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:317) at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:339) at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:98) at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:140) at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:79) at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:582) at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:201) at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:271) at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:189) at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:110) at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:257) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:74) at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:486) at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:406) at org.apache.axis2.transport.http.AxisAdminServlet.init(AxisAdminServlet.java:51) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at com.tc.tomcat55.session.SessionValve55.tcInvoke(SessionValve55.java:63) at com.tc.tomcat55.session.SessionValve55.invoke(SessionValve55.java:50) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595)
Comments
Tim Eck 2007-11-21
Steve Harris 2007-11-26
Can you give a little more detail on what the real bug is and how hard it would be to fix?
Tim Eck 2008-01-11
added hooks in axis2 that will filter out terracotta instrumentation from generated service classes.
This fix only prevents the exception given and does not necessarily mean that components of the axis runtime, nor service classes themselves can be used as shared objects
Fiona OShea 2008-01-25
We may need to wait for more feedback from the forum post to verify that this is fixed for the community
I think there is a workaround for this. Your tc-config.xml includes a *..* pattern. I think if web service classes were 'd from instrumentation you wouldn't get bitten by this bug.
Note, this is just a possible workaround – this is a real bug and needs a real fix