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

Ron Sigal ron_sigal at yahoo.com
Wed Jan 17 00:15:19 EST 2007


  User: rsigal  
  Date: 07/01/17 00:15:19

  Modified:    src/main/org/jboss/remoting   ServerInvoker.java
                        AbstractInvoker.java
  Log:
  JBREM-298:  Added ability to create socket creation listener from class name.
  
  Revision  Changes    Path
  1.61      +27 -4     JBossRemoting/src/main/org/jboss/remoting/ServerInvoker.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ServerInvoker.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/ServerInvoker.java,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -b -r1.60 -r1.61
  --- ServerInvoker.java	17 Jan 2007 02:58:20 -0000	1.60
  +++ ServerInvoker.java	17 Jan 2007 05:15:19 -0000	1.61
  @@ -65,7 +65,7 @@
    *
    * @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
    * @author <a href="mailto:tom.elrod at jboss.com">Tom Elrod</a>
  - * @version $Revision: 1.60 $
  + * @version $Revision: 1.61 $
    */
   public abstract class ServerInvoker extends AbstractInvoker implements ServerInvokerMBean
   {
  @@ -524,10 +524,33 @@
            return ssf;
         
         Object o = config.get(Remoting.SOCKET_CREATION_SERVER_LISTENER);
  -      if (o != null && o instanceof SocketCreationListener)
  -         return new CreationListenerServerSocketFactory(ssf, (SocketCreationListener) o);
         
  +      if (o == null)
         return ssf;
  +      
  +      if (o instanceof SocketCreationListener)
  +      {
  +         return new CreationListenerServerSocketFactory(ssf, (SocketCreationListener) o);
  +      }
  +      else if (o instanceof String)
  +      {
  +         try
  +         {
  +            Class c = ClassLoaderUtility.loadClass((String) o, ServerInvoker.class);
  +            SocketCreationListener listener = (SocketCreationListener) c.newInstance();
  +            return new CreationListenerServerSocketFactory(ssf, listener);
  +         }
  +         catch (Exception e)
  +         {
  +            log.error("unable to instantiate class: " + o, e);
  +            return ssf;
  +         } 
  +      }
  +      else
  +      {
  +         log.error("unrecognized type for socket creation server listener: " + o);
  +         return ssf;
  +      }
      }
      
      
  
  
  
  1.19      +26 -5     JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractInvoker.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -b -r1.18 -r1.19
  --- AbstractInvoker.java	17 Jan 2007 02:55:03 -0000	1.18
  +++ AbstractInvoker.java	17 Jan 2007 05:15:19 -0000	1.19
  @@ -51,11 +51,11 @@
    *
    * @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
    * @author <a href="mailto:telrod at e2technologies.net">Tom Elrod</a>
  - * @version $Revision: 1.18 $
  + * @version $Revision: 1.19 $
    */
   public abstract class AbstractInvoker implements Invoker
   {
  -   protected final Logger log = Logger.getLogger(getClass());
  +   protected final static Logger log = Logger.getLogger(AbstractInvoker.class);
      protected ClassByteClassLoader classbyteloader;
      protected InvokerLocator locator;
      protected Map localServerLocators = new HashMap();
  @@ -319,14 +319,35 @@
            return socketFactory;
         
         Object o = config.get(Remoting.SOCKET_CREATION_CLIENT_LISTENER);
  -      if (o != null && o instanceof SocketCreationListener)
  +      
  +      if (o == null)
  +         return socketFactory;
  +      
  +      if (o instanceof SocketCreationListener)
         {
            SocketCreationListener listener = (SocketCreationListener) o;
            return new CreationListenerSocketFactory(socketFactory, listener);
         }
  -      
  +      else if (o instanceof String)
  +      {
  +         try
  +         {
  +            Class c = ClassLoaderUtility.loadClass((String) o, AbstractInvoker.class);
  +            SocketCreationListener listener = (SocketCreationListener) c.newInstance();
  +            return new CreationListenerSocketFactory(socketFactory, listener);
  +         }
  +         catch (Exception e)
  +         {
  +            log.error("unable to instantiate class: " + o, e);
  +            return socketFactory;
  +         }
  +      }
  +      else
  +      {
  +         log.error("unrecognized type for socket creation client listener: " + o);
         return socketFactory;
      }
  +   }
      
      
      static public boolean isCompleteSocketFactory(SocketFactory sf)
  
  
  



More information about the jboss-cvs-commits mailing list