Модули загрузки Axis - Создание временного файла и сбой
Вопрос
Мы используем axis для веб-сервисной связи между различными системами внутри компании.Время от времени вызовы axis завершаются с ошибкой:
[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
Может быть, один из 100 терпит подобную неудачу.
Код развернут на 50-потоковом сервере приложений weblogic, работающем под управлением axis2 версии 1.4.1.
Насколько я могу судить из журнала, "Создание временного файла" происходит при каждом вызове (и каждый раз упоминается один и тот же файл), поэтому я предполагаю, что, возможно, многопоточный доступ к одному и тому же файлу, но я не знаю, что с этим делать.
У кого-нибудь есть какие-то идеи, которые могли бы помочь нам устранить это?
Обновить:
Я нашел похожую проблему в списке рассылки без ответа: http://marc.info/?l=axis-user&m=124411691013763&w=2 и разместил этот вопрос там же: http://marc.info/?l=axis-user&m=124912603230939&w=2
Решение 2
Мы обнаружили эту проблему http://issues.apache.org/jira/browse/AXIS2-3204
и тот
configContext.terminate() был виновником.
Другие советы
Спасибо тебе , @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)
............................Остальное опущено...................................