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

Tom Elrod tom.elrod at jboss.com
Fri Jan 12 12:19:47 EST 2007


  User: telrod  
  Date: 07/01/12 12:19:47

  Modified:    src/main/org/jboss/remoting/loading    Tag: remoting_1_4
                        RemotingClassLoader.java ClassByteClassLoader.java
                        ObjectInputStreamWithClassLoader.java
  Log:
  JBREM-659 - changed all ClassLoader.loadClass() calls to Class.forName() calls so will work with jdk 1.6
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.2.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.2
  retrieving revision 1.2.4.1
  diff -u -b -r1.2 -r1.2.4.1
  --- RemotingClassLoader.java	30 Dec 2005 05:26:29 -0000	1.2
  +++ RemotingClassLoader.java	12 Jan 2007 17:19:47 -0000	1.2.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)
            {
  -            loadedClass = userClassLoader.loadClass(name);
  +            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.3.4.1   +7 -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.3
  retrieving revision 1.3.4.1
  diff -u -b -r1.3 -r1.3.4.1
  --- ClassByteClassLoader.java	30 Dec 2005 05:26:29 -0000	1.3
  +++ ClassByteClassLoader.java	12 Jan 2007 17:19:47 -0000	1.3.4.1
  @@ -40,7 +40,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.3 $
  + * @version $Revision: 1.3.4.1 $
    */
   public class ClassByteClassLoader extends ClassLoader
   {
  @@ -178,12 +178,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;
  @@ -383,6 +383,10 @@
   
            try
            {
  +            if(!loaderClient.isConnected())
  +            {
  +                loaderClient.connect();
  +            }
               Object obj = loaderClient.invoke(marshallerMethodName, metadata);
   
               if(obj != null)
  
  
  
  1.2.4.2   +4 -4      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.2.4.1
  retrieving revision 1.2.4.2
  diff -u -b -r1.2.4.1 -r1.2.4.2
  --- ObjectInputStreamWithClassLoader.java	11 May 2006 20:39:42 -0000	1.2.4.1
  +++ ObjectInputStreamWithClassLoader.java	12 Jan 2007 17:19:47 -0000	1.2.4.2
  @@ -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.2.4.1 $
  + * @version $Revision: 1.2.4.2 $
    */
   public class ObjectInputStreamWithClassLoader extends ObjectInputStream
   {
  @@ -133,10 +133,10 @@
         }
         else
         {
  -         // EJBTHREE-440
  +         // EJBTHREE-440 & JBREM-508
            try
            {
  -            return cl.loadClass(v.getName());
  +            return Class.forName(v.getName(), false, cl);
            }
            catch(ClassNotFoundException ex)
            {
  @@ -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