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

Ron Sigal ron_sigal at yahoo.com
Wed Dec 6 21:58:12 EST 2006


  User: rsigal  
  Date: 06/12/06 21:58:12

  Modified:    src/main/org/jboss/remoting  AbstractInvoker.java
  Log:
  JBREM-622:  Stores InvokerCallbackHandlers keyed on sessionId + listenerId.
  
  Revision  Changes    Path
  1.15      +9 -4      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.14
  retrieving revision 1.15
  diff -u -b -r1.14 -r1.15
  --- AbstractInvoker.java	16 Nov 2006 18:06:13 -0000	1.14
  +++ AbstractInvoker.java	7 Dec 2006 02:58:11 -0000	1.15
  @@ -47,7 +47,7 @@
    *
    * @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.14 $
  + * @version $Revision: 1.15 $
    */
   public abstract class AbstractInvoker implements Invoker
   {
  @@ -113,10 +113,10 @@
   
      /**
       * Generates a listener id for the callbackhandler and callback server locator combination
  -    *
  +    * @param sessionId
       * @param locator
       */
  -   public String addClientLocator(InvokerCallbackHandler callbackhandler, InvokerLocator locator)
  +   public String addClientLocator(String sessionId, InvokerCallbackHandler callbackhandler, InvokerLocator locator)
      {
         String listenerId = null;
         synchronized(localServerLocators)
  @@ -136,6 +136,8 @@
            // if got this far, the entry does not exist, so need to add it and create a listener id
            CallbackHandlerHolder holder = new CallbackHandlerHolder(callbackhandler, locator);
            listenerId = new GUID().toString();
  +         if (sessionId != null)
  +            listenerId = sessionId + "+" + listenerId;
            localServerLocators.put(listenerId, holder);
         }
   
  @@ -162,7 +164,7 @@
         return locator;
      }
   
  -   public List getClientLocators(InvokerCallbackHandler handler)
  +   public List getClientLocators(String sessionId, InvokerCallbackHandler handler)
      {
         List holderList = new ArrayList();
         if (handler != null)
  @@ -175,6 +177,9 @@
               {
                  Map.Entry entry = (Map.Entry) itr.next();
                  String listenerId = (String) entry.getKey();
  +               String prefix = listenerId.substring(0, listenerId.indexOf('+'));
  +               if (!sessionId.equals(prefix))
  +                  continue;
                  CallbackHandlerHolder holder = (CallbackHandlerHolder) entry.getValue();
                  InvokerCallbackHandler holderHandler = holder.getHandler();
                  if (holderHandler.equals(handler))
  
  
  



More information about the jboss-cvs-commits mailing list