You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/04/03 03:43:10 UTC
svn commit: r644132 -
/incubator/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java
Author: jsdelfino
Date: Wed Apr 2 18:43:09 2008
New Revision: 644132
URL: http://svn.apache.org/viewvc?rev=644132&view=rev
Log:
Fix for TUSCANY-2182. Changed back to a more standard parent-first classloading scheme in the node launcher classloader as it's not necessary if the web application classloader is configured with a parent-last scheme.
Modified:
incubator/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java
Modified: incubator/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java?rev=644132&r1=644131&r2=644132&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java (original)
+++ incubator/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java Wed Apr 2 18:43:09 2008
@@ -341,72 +341,22 @@
}
/**
- * Simple URL class loader that hides the parent class loader and implements a
- * parent-last loading scheme.
+ * Simple URL class loader for the runtime JARs
*/
private static class RuntimeClassLoader extends URLClassLoader {
- private ClassLoader parent;
-
+
/**
* Constructs a new class loader.
* @param urls
* @param parent
*/
private RuntimeClassLoader(URL[] urls, ClassLoader parent) {
- super(urls);
- this.parent = parent;
+ super(urls, parent);
}
-
+
@Override
- public URL findResource(String name) {
- URL url = super.findResource(name);
- if (url == null) {
- url = parent.getResource(name);
- }
- return url;
- }
-
- @Override
- public Enumeration<URL> findResources(String name) throws IOException {
- Enumeration<URL> resources = super.findResources(name);
- Enumeration<URL> parentResources = parent.getResources(name);
- List<URL> allResources = new ArrayList<URL>();
- for (; resources.hasMoreElements(); ) {
- allResources.add(resources.nextElement());
- }
- for (; parentResources.hasMoreElements(); ) {
- allResources.add(parentResources.nextElement());
- }
- return Collections.enumeration(allResources);
- }
-
- @Override
- protected Class<?> findClass(String name) throws ClassNotFoundException {
- Class<?> cl;
-
- // First try to load the class using the parent classloader
- try {
- cl = parent.loadClass(name);
- if (cl.getClassLoader() != parent) {
-
- // If the class was not loaded directly by the parent classloader
- // try to load it using our URL classloader instead
- try {
- cl = super.findClass(name);
- } catch (ClassNotFoundException e) {
- // No class alternative was found in our URL classloader,
- // use the class found in the parent classloader hierarchy
- }
- }
- } catch (ClassNotFoundException e) {
-
- // The class was not found by the parent class loader, try
- // to load it using our URL classloader
- cl = super.findClass(name);
- }
-
- return cl;
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ return super.loadClass(name);
}
}
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org