You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/04/15 23:48:20 UTC

svn commit: r765382 - /tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java

Author: rfeng
Date: Wed Apr 15 21:48:20 2009
New Revision: 765382

URL: http://svn.apache.org/viewvc?rev=765382&view=rev
Log:
Make sure the class is returned

Modified:
    tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java

Modified: tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java?rev=765382&r1=765381&r2=765382&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java (original)
+++ tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java Wed Apr 15 21:48:20 2009
@@ -190,7 +190,7 @@
         protected Class<?> findClass(String className) throws ClassNotFoundException {
             for (ClassLoader parent : classLoaders) {
                 try {
-                    parent.loadClass(className);
+                    return parent.loadClass(className);
                 } catch (ClassNotFoundException e) {
                     continue;
                 }
@@ -248,7 +248,10 @@
                     ClassLoader cl2 =
                         modelFactories.getFactory(DocumentBuilderFactory.class).getClass().getClassLoader();
                     ClassLoader tccl = Thread.currentThread().getContextClassLoader();
-                    ClassLoader newTccl = new MultiParentClassLoader(tccl, new ClassLoader[] {cl1, cl2});
+                    ClassLoader newTccl = tccl;
+                    if (cl1 != tccl || cl2 != tccl) {
+                        newTccl = new MultiParentClassLoader(null, new ClassLoader[] {cl1, cl2});
+                    }
                     if (newTccl != null && newTccl != tccl) {
                         Thread.currentThread().setContextClassLoader(newTccl);
                     }