[ 
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.

Reply via email to