轴加载模块 - 创建临时文件并失败

时间:2009-07-31 15:40:50

标签: java module weblogic axis2 axis

我们正在使用轴进行内部不同系统之间的Web服务通信。每隔一段时间轴调用就会失败:

[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

也许百分之一的人失败了。

代码部署在运行axis2版本1.4.1的50thread weblogic应用服务器上。

据我所知,日志中,“创建临时文件”发生在每次调用中(并且每次都会提到相同的文件),所以我的猜测是可能是多线程访问同一个文件,但我不知道该怎么办。

有没有人有一些可以帮助我们消除这种情况的见解?

更新

我在邮件列表上找到了类似的问题而没有回答:http://marc.info/?l=axis-user&m=124411691013763&w=2 并在那里发布了这个问题:http://marc.info/?l=axis-user&m=124912603230939&w=2

2 个答案:

答案 0 :(得分:2)

谢谢@svrist

您提供的[JIRA页面] http://issues.apache.org/jira/browse/AXIS2-3204的链接告诉我,为了避免此问题,需要将升级到至少Axis2 1.5

仅供参考,如果看到问题中描述的任何这些错误,您将面临应用程序中挂起线程的风险。我很难尝试跟踪它,所以如果你看到这个堆栈跟踪,请考虑升级:

"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)

............................其余的遗漏................ ...................

答案 1 :(得分:0)

我们发现了这个问题 http://issues.apache.org/jira/browse/AXIS2-3204

configContext.terminate() 是罪魁祸首。