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 "Anupam Maity (JIRA)" <ji...@apache.org> on 2016/04/11 12:54:25 UTC

[jira] [Commented] (AXIS2-5009) Issue in EnableChildFirstClassLoading functionality

    [ https://issues.apache.org/jira/browse/AXIS2-5009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15234869#comment-15234869 ] 

Anupam Maity commented on AXIS2-5009:
-------------------------------------

After updating to 1.6.2 we noticed some issues; Since the EnableChildFirstClassLoader="true" that is required by our environment was not behaving as it used to in the previous versions. Upon research we found that the class loading was changed slightly (JIRA Axis2-5009) and we rolled back the fix to classloader. We are having to maintain this patch in our artifactory and will potentially have to create a patch again after we upgrade to 1.6.3. If axis2 community identifies this patch and the fix, then we wouldn't have to create/maintain the patch jar for future versions.

The class is *org.apache.axis2.deployment.DeploymentEngine* 
The code was in the method : *setClassLoaders* 

|| Version 1.6.1 || Version 1.6.2||
| {code}protected void setClassLoaders(String axis2repoURI) throws DeploymentException { 
ClassLoader sysClassLoader = 
Utils.getClassLoader(Thread.currentThread().getContextClassLoader(), axis2repoURI, false); 
. 
. 
. 
. 
} {code}|{code}protected void setClassLoaders(String axis2repoURI) throws DeploymentException { 
ClassLoader sysClassLoader = 
Utils.getClassLoader(Thread.currentThread().getContextClassLoader(), axis2repoURI, {color:red}axisConfig.isChildFirstClassLoading(){color}); 
. 
. 
. 
. 
} 
{code}

> Issue in EnableChildFirstClassLoading functionality
> ---------------------------------------------------
>
>                 Key: AXIS2-5009
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5009
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>            Reporter: Isuru Eranga Suriarachchi
>            Assignee: Isuru Eranga Suriarachchi
>            Priority: Critical
>             Fix For: 1.6.2, 1.7.0
>
>
> Child first class loading can be enabled by setting the following parameter in axis2.xml.
> <parameter name="EnableChildFirstClassLoading">true</parameter>
> After enabling it, I deployed a service for which there is a dependency. I put two different versions of this dependency into the following locations.
> 1. AXIS2_HOME/lib
> 2. AXIS2_HOME/repository/lib
> As child first class loading is enabled, I expected Axis2 to pick up the dependency at location 2 above. But when I invoked my service, Axis2 picked up the dependency from location 1.
> Note : When I test the same service with AXIS2_HOME/repository/lib and AXIS2_HOME/repository/services/lib, it worked as expected..
> Thanks,
> ~Isuru



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org