You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Detelin Yordanov (JIRA)" <ji...@apache.org> on 2009/10/05 17:12:31 UTC

[jira] Commented: (AXIS2-3204) Client side 'Unable to engage module' - when several clients access same repository

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