Moduli di caricamento degli assi: creazione di file temporali e errori
Domanda
Stiamo usando l'asse per la comunicazione del servizio web tra diversi sistemi interni. Ogni tanto le chiamate degli assi falliscono con un:
[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
Forse uno su 100 fallisce così.
Il codice è distribuito su un server di app weblogic 50thread che esegue la versione axis2 1.4.1.
Per quanto ne so dal registro, il " Creazione del tempfile " succede in ogni chiamata (e menziona sempre lo stesso file), quindi suppongo che forse un thread multiplo acceda allo stesso file, ma non so cosa fare al riguardo.
Qualcuno ha avuto alcune intuizioni che potrebbero aiutarci a eliminare questo?
Aggiornamento:
Ho riscontrato un problema simile sulla mailing list senza risposta: http: // marc ? .info / l = asse-user & amp; m = 124411691013763 & amp; w = 2 e pubblicato questa domanda anche lì: http://marc.info/?l= asse-user & amp; m = 124912603230939 & amp; w = 2
Soluzione 2
Abbiamo riscontrato questo problema http://issues.apache.org/jira/browse/AXIS2-3204
e
configContext.terminate () era il colpevole.
Altri suggerimenti
Grazie @svrist
Il link alla [pagina JIRA] http://issues.apache.org / jira / browsing / AXIS2-3204 mi hai comunicato che era necessario un aggiornamento ad almeno Axis2 1.5 per evitare questo problema.
Cordiali saluti, se visualizzi uno di questi errori descritti nella domanda, corri il rischio di un thread bloccato nella tua applicazione. Ho avuto difficoltà a provare a rintracciarlo, quindi se stai vedendo questa traccia dello stack, considera l'aggiornamento:
"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)
............................ Il resto omesso ................ ...................