[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting/loading ...
Tom Elrod
tom.elrod at jboss.com
Thu Jan 11 15:34:49 EST 2007
User: telrod
Date: 07/01/11 15:34:49
Modified: src/main/org/jboss/remoting/loading Tag: remoting_2_x
ClassByteClassLoader.java RemotingClassLoader.java
ObjectInputStreamWithClassLoader.java
Log:
JBREM-659 - updated classloading to use Class.forName() instead of ClassLoader.loadClass() because the later is broken in jdk 1.6.
Revision Changes Path
No revision
No revision
1.4.4.1 +3 -3 JBossRemoting/src/main/org/jboss/remoting/loading/ClassByteClassLoader.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ClassByteClassLoader.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/loading/ClassByteClassLoader.java,v
retrieving revision 1.4
retrieving revision 1.4.4.1
diff -u -b -r1.4 -r1.4.4.1
--- ClassByteClassLoader.java 21 May 2006 04:47:25 -0000 1.4
+++ ClassByteClassLoader.java 11 Jan 2007 20:34:49 -0000 1.4.4.1
@@ -41,7 +41,7 @@
*
* @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
* @author <a href="mailto:tom at jboss.org">Tom Elrod</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.4.4.1 $
*/
public class ClassByteClassLoader extends ClassLoader
{
@@ -179,12 +179,12 @@
{
return cl;
}
- cl = ClassLoader.getSystemClassLoader().loadClass(className);
+ cl = Class.forName(className, false, ClassLoader.getSystemClassLoader());
if(cl != null)
{
return cl;
}
- cl = super.loadClass(className, true);
+ cl = Class.forName(className, false, getParent());
if(cl != null)
{
return cl;
1.3.4.1 +28 -2 JBossRemoting/src/main/org/jboss/remoting/loading/RemotingClassLoader.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: RemotingClassLoader.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/loading/RemotingClassLoader.java,v
retrieving revision 1.3
retrieving revision 1.3.4.1
diff -u -b -r1.3 -r1.3.4.1
--- RemotingClassLoader.java 10 May 2006 01:33:48 -0000 1.3
+++ RemotingClassLoader.java 11 Jan 2007 20:34:49 -0000 1.3.4.1
@@ -22,6 +22,9 @@
package org.jboss.remoting.loading;
+import org.jboss.remoting.serialization.ClassLoaderUtility;
+import org.jboss.logging.Logger;
+
/**
* @author <a href="mailto:tom.elrod at jboss.com">Tom Elrod</a>
*/
@@ -29,6 +32,9 @@
{
private ClassLoader userClassLoader = null;
+ protected static final Logger log = Logger.getLogger(RemotingClassLoader.class);
+ protected static final boolean isTrace = log.isTraceEnabled();
+
public RemotingClassLoader(ClassLoader remotingClassLoader, ClassLoader userClassLoader)
{
super(remotingClassLoader);
@@ -41,16 +47,36 @@
try
{
- loadedClass = super.loadClass(name);
+ loadedClass = Class.forName(name, false, getParent());
}
catch(ClassNotFoundException e)
{
+ if(isTrace)
+ {
+ log.trace("Could not load class (" + name + ") using parent remoting class loader (" + getParent() + ")");
+ }
if(userClassLoader != null)
{
+ try
+ {
loadedClass = Class.forName(name, false, userClassLoader);
}
+ catch (ClassNotFoundException e1)
+ {
+ if(isTrace)
+ {
+ log.trace("Could not load class (" + name + ") using parent remoting class loader (" + getParent() + ")");
+ }
+ }
+ }
+ }
+
+ if(loadedClass == null)
+ {
+ loadedClass = ClassLoaderUtility.loadClass(name, getClass());
}
return loadedClass;
}
+
}
\ No newline at end of file
1.4.4.1 +3 -3 JBossRemoting/src/main/org/jboss/remoting/loading/ObjectInputStreamWithClassLoader.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ObjectInputStreamWithClassLoader.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/loading/ObjectInputStreamWithClassLoader.java,v
retrieving revision 1.4
retrieving revision 1.4.4.1
diff -u -b -r1.4 -r1.4.4.1
--- ObjectInputStreamWithClassLoader.java 30 Jun 2006 16:44:28 -0000 1.4
+++ ObjectInputStreamWithClassLoader.java 11 Jan 2007 20:34:49 -0000 1.4.4.1
@@ -33,7 +33,7 @@
*
* @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
* @author <a href="mailto:tom at jboss.org">Tom Elrod</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.4.4.1 $
*/
public class ObjectInputStreamWithClassLoader extends ObjectInputStream
{
@@ -210,7 +210,7 @@
Class[] classObjs = new Class[interfaces.length];
for(int i = 0; i < interfaces.length; i++)
{
- classObjs[i] = cl.loadClass(interfaces[i]);
+ classObjs[i] = Class.forName(interfaces[i], false, cl);
}
try
{
More information about the jboss-cvs-commits
mailing list