[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting/loading ...

Tom Elrod tom.elrod at jboss.com
Fri Jan 12 13:56:23 EST 2007


  User: telrod  
  Date: 07/01/12 13:56:23

  Modified:    src/main/org/jboss/remoting/loading   
                        ObjectInputStreamWithClassLoader.java
                        ClassByteClassLoader.java RemotingClassLoader.java
  Log:
  JBREM-659 - changed all ClassLoader.loadClass() calls to Class.forName() calls so will work with jdk 1.6
  
  Revision  Changes    Path
  1.5       +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.5
  diff -u -b -r1.4 -r1.5
  --- ObjectInputStreamWithClassLoader.java	30 Jun 2006 16:44:28 -0000	1.4
  +++ ObjectInputStreamWithClassLoader.java	12 Jan 2007 18:56:23 -0000	1.5
  @@ -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.5 $
    */
   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
            {
  
  
  
  1.5       +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.5
  diff -u -b -r1.4 -r1.5
  --- ClassByteClassLoader.java	21 May 2006 04:47:25 -0000	1.4
  +++ ClassByteClassLoader.java	12 Jan 2007 18:56:23 -0000	1.5
  @@ -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.5 $
    */
   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.4       +27 -1     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.4
  diff -u -b -r1.3 -r1.4
  --- RemotingClassLoader.java	10 May 2006 01:33:48 -0000	1.3
  +++ RemotingClassLoader.java	12 Jan 2007 18:56:23 -0000	1.4
  @@ -22,6 +22,9 @@
   
   package org.jboss.remoting.loading;
   
  +import org.jboss.logging.Logger;
  +import org.jboss.remoting.serialization.ClassLoaderUtility;
  +
   /**
    * @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
  
  
  



More information about the jboss-cvs-commits mailing list