You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2012/12/17 18:22:09 UTC
svn commit: r1423026 -
/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
Author: sergeyb
Date: Mon Dec 17 17:22:08 2012
New Revision: 1423026
URL: http://svn.apache.org/viewvc?rev=1423026&view=rev
Log:
[CXF-2704] Adding CXFNonSpringJaxrsServlet classloader property for extending classes to set when needed
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java?rev=1423026&r1=1423025&r2=1423026&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java Mon Dec 17 17:22:08 2012
@@ -89,6 +89,7 @@ public class CXFNonSpringJaxrsServlet ex
private static final String JAXRS_APPLICATION_PARAM = "javax.ws.rs.Application";
+ private ClassLoader classLoader;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
@@ -456,17 +457,26 @@ public class CXFNonSpringJaxrsServlet ex
bean.create();
}
- private Class<?> loadClass(String cName) throws ServletException {
+ protected Class<?> loadClass(String cName) throws ServletException {
return loadClass(cName, "Resource");
}
- private Class<?> loadClass(String cName, String classType) throws ServletException {
+ protected Class<?> loadClass(String cName, String classType) throws ServletException {
try {
- return ClassLoaderUtils.loadClass(cName, CXFNonSpringJaxrsServlet.class);
+
+ Class<?> cls = null;
+ if (classLoader == null) {
+ cls = ClassLoaderUtils.loadClass(cName, CXFNonSpringJaxrsServlet.class);
+ } else {
+ cls = classLoader.loadClass(cName);
+ }
+ return cls;
} catch (ClassNotFoundException ex) {
throw new ServletException("No " + classType + " class " + cName.trim() + " can be found", ex);
}
}
-
+ public void setClassLoader(ClassLoader loader) {
+ this.classLoader = loader;
+ }
}