org.apache.axis2.deployment.DeploymentEngine cannot run under JNI -----------------------------------------------------------------
Key: AXIS2-4520 URL: https://issues.apache.org/jira/browse/AXIS2-4520 Project: Axis 2.0 (Axis2) Issue Type: Bug Components: kernel Affects Versions: 1.5 Environment: Windows Server 2003, Java 1.5_14 Reporter: Per Agerbæk Priority: Blocker When running in a thread created by JNI the Thread.currentThread().getContextClassLoader() return null, which in turn gives this Caused by: java.lang.RuntimeException: parent[0] is null at org.apache.axis2.classloader.MultiParentClassLoader.copyParents(MultiParentClassLoader.java:182) at org.apache.axis2.classloader.MultiParentClassLoader.<init>(MultiParentClassLoader.java:105) at org.apache.axis2.classloader.MultiParentClassLoader.<init>(MultiParentClassLoader.java:76) at org.apache.axis2.classloader.JarFileClassLoader.<init>(JarFileClassLoader.java:66) at org.apache.axis2.deployment.util.Utils$6.run(Utils.java:348) at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis2.deployment.util.Utils.getClassLoader(Utils.java:344) at org.apache.axis2.deployment.util.Utils.getClassLoader(Utils.java:309) at org.apache.axis2.deployment.DeploymentEngine.setClassLoaders(DeploymentEngine.java:863) at org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:146) at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:133) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:206) I fixed it by changing lines 863 - 866 in modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java ClassLoader sysClassLoader = Utils.getClassLoader(Thread.currentThread().getContextClassLoader(), axis2repoURI, false); axisConfig.setSystemClassLoader(sysClassLoader); by ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); if (classLoader == null) classLoader = ClassLoader.getSystemClassLoader(); ClassLoader sysClassLoader = Utils.getClassLoader(classLoader, axis2repoURI); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.