You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2011/05/12 09:46:43 UTC
svn commit: r1102193 -
/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
Author: ningjiang
Date: Thu May 12 07:46:43 2011
New Revision: 1102193
URL: http://svn.apache.org/viewvc?rev=1102193&view=rev
Log:
CXF-3512 CXF extension using it's classloader as a fallback to load the class
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java?rev=1102193&r1=1102192&r2=1102193&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java Thu May 12 07:46:43 2011
@@ -26,9 +26,8 @@ import java.util.Collection;
import org.apache.cxf.Bus;
import org.apache.cxf.common.util.StringUtils;
-
public class Extension {
-
+
private String className;
private Class<?> clazz;
private String interfaceName;
@@ -69,7 +68,12 @@ public class Extension {
try {
clazz = cl.loadClass(className);
} catch (ClassNotFoundException ex) {
- throw new ExtensionException(ex);
+ try {
+ // using the extension classloader as a fallback
+ clazz = this.getClass().getClassLoader().loadClass(className);
+ } catch (ClassNotFoundException nex) {
+ throw new ExtensionException(nex);
+ }
}
}
return clazz;
@@ -131,7 +135,12 @@ public class Extension {
try {
cls = cl.loadClass(interfaceName);
} catch (ClassNotFoundException ex) {
- throw new ExtensionException(ex);
+ try {
+ // using the extension classloader as a fallback
+ cls = this.getClass().getClassLoader().loadClass(interfaceName);
+ } catch (ClassNotFoundException nex) {
+ throw new ExtensionException(nex);
+ }
}
return cls;
}