• 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

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

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