[
https://issues.apache.org/jira/browse/AXIS2-3204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762207#action_12762207
]
Detelin Yordanov commented on AXIS2-3204:
-----------------------------------------
Reason is that the Axis2 ServiceClient will cleanup the Axis2 temporary
directory in its finalize() method (during GC). So if an Axis2 runtime is being
terminated while another one starts up, the former may delete temporary module
mars created in the temporary directory for the new runtime.
Axis2 1.4 copies the module's mar (e.g. addressing) to the temporary directory
under a random name. The module's metadata XML (containing handler definitions)
is read from the original mar, but the classes themselves are loaded from the
temporary mar. So if after the moment of copy, and prior to the moment of
loading module's handler classes, another runtime shuts down, it will silently
delete the temp files and a ClassNotFoundException will be thrown.
This is fixed in Axis2 1.5 by using a separate(random) temporary directory for
each Axis2 runtime, instead of using only one.
> Client side 'Unable to engage module' - when several clients access same
> repository
> -----------------------------------------------------------------------------------
>
> Key: AXIS2-3204
> URL: https://issues.apache.org/jira/browse/AXIS2-3204
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: MacOS X 10.4.10
> Java :
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164)
> Java HotSpot(TM) Client VM (build 1.5.0_07-87, mixed mode, sharing)
> Axis2 1.3, Rampart 1.3, Sandeha2 1.3(ish).
> Reporter: Hans G Knudsen
> Assignee: Deepal Jayasinghe
> Priority: Blocker
> Attachments: Axis2ModuleTest.java
>
>
> When running a stress test against an Axis2 service with Sandesha2 i
> sometimes get error when ServiceClient tries to engage the needed modules.
> See Below.
> The client runs in separate processes - but all access same 'repository'
> I have not had time to test on other OS's
> 2007-09-14 14:11:32,808 [ERROR] org.apache.axis2.deployment.ModuleDeployer -
> The addressing-1.3.mar module, which is not valid, caused
> org.apache.axis2.addressing.AddressingModule
> org.apache.axis2.deployment.DeploymentException:
> org.apache.axis2.addressing.AddressingModule
> at
> org.apache.axis2.deployment.repository.util.ArchiveReader.readModuleArchive(ArchiveReader.java:493)
> at
> org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:69)
> at
> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:137)
> at
> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:571)
> at
> org.apache.axis2.deployment.RepositoryListener.init(RepositoryListener.java:231)
> at
> org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:64)
> at
> org.apache.axis2.deployment.RepositoryListener.<init>(RepositoryListener.java:59)
> at
> org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:134)
> at
> org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:132)
> at
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
> at
> dk.oiosi.rasp.client.Dispatcher13.sendRaspRequest(Dispatcher13.java:340)
> at
> dk.oiosi.rasp.client.TestHttp_LocalAxisRaspServer.main(TestHttp_LocalAxisRaspServer.java:183)
> Caused by: org.apache.axis2.deployment.DeploymentException:
> org.apache.axis2.addressing.AddressingModule
> at
> org.apache.axis2.deployment.ModuleBuilder.loadModuleClass(ModuleBuilder.java:82)
> at
> org.apache.axis2.deployment.ModuleBuilder.populateModule(ModuleBuilder.java:96)
> at
> org.apache.axis2.deployment.repository.util.ArchiveReader.readModuleArchive(ArchiveReader.java:480)
> ... 11 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.axis2.addressing.AddressingModule
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:164)
> at org.apache.axis2.util.Loader.loadClass(Loader.java:261)
> at org.apache.axis2.util.Loader.loadClass(Loader.java:229)
> at
> org.apache.axis2.deployment.ModuleBuilder.loadModuleClass(ModuleBuilder.java:66)
> ... 13 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.