Axis loading modules - Creating tempfile and failing
Question
We are using axis for webservice communication between different system in house. Every once in a while the axis calls fail with a:
[org.apache.axis2.deployment.util.Utils] - Created temporary file : C:\WINDOWS\TEMP\_axis2\axis248890addressing-1.41.mar
[org.apache.axis2.util.Loader] - java.lang.ClassNotFoundException: Class Not found : org.apache.axis2.handlers.addressing.AddressingInHandler
[org.apache.axis2.util.Loader] - java.lang.ClassNotFoundException: org.apache.axis2.handlers.addressing.AddressingInHandler
[org.apache.axis2.i18n.ProjectResourceBundle] - org.apache.axis2.i18n.resource::handleGetObject(invalidmodule)
[org.apache.axis2.deployment.ModuleDeployer] - The addressing-1.41.mar module, which is not valid, caused org.apache.axis2.handlers.addressing.AddressingInHandler
org.apache.axis2.AxisFault: org.apache.axis2.handlers.addressing.AddressingInHandler
Maybe one in 100 fails like that.
The code is deployed on a 50thread weblogic app server running the axis2 version 1.4.1.
As far as I can tell from the log, the "Creating tempfile" happens in every call(and it mentions the same file everytime), so my guess is that maybe a multiple thread access to the same file, but I dont know what to do about it.
Has anybody got some insights that could help us eliminate this?
Update:
I Found a similar issue on the mailinglist without answer: http://marc.info/?l=axis-user&m=124411691013763&w=2 and posted this question there as well: http://marc.info/?l=axis-user&m=124912603230939&w=2
Solution 2
We found this issue http://issues.apache.org/jira/browse/AXIS2-3204
and the
configContext.terminate() was the culprit.
OTHER TIPS
Thank you @svrist
The link to the [JIRA page] http://issues.apache.org/jira/browse/AXIS2-3204 you provided informed me that an upgrade to at least Axis2 1.5 was required to avoid this problem.
FYI, if are seeing any of these errors that were described in the question, you run the risk of a hung thread in your application. I had a hard time trying to track this down, so if you are seeing this stack trace, consider the upgrade:
"pool-2-thread-10" prio=10 tid=0xad5ab000 nid=0x35f8 runnable [0xa7d0b000]
java.lang.Thread.State: RUNNABLE
at com.sun.xml.stream.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:353)
at com.sun.xml.stream.XMLReaderImpl.next(XMLReaderImpl.java:557)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:506)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:161)
at ***org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:132) <- Infinite loop***
at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:411)
at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:602)
at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:581)
at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97)
at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:86)
at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)
at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116)
- locked <0xb4de1d10> (a org.apache.axis2.deployment.FileSystemConfigurator)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)
at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:150)
at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:143)
............................The Rest Omitted...................................