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

Ron Sigal ron_sigal at yahoo.com
Wed Dec 6 22:20:16 EST 2006


  User: rsigal  
  Date: 06/12/06 22:20:16

  Modified:    src/main/org/jboss/remoting  Tag: remoting_2_x
                        AbstractInvoker.java
  Log:
  JBREM-622:  Stores InvokerCallbackHandlers keyed on sessionId + listenerId.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.12.4.4  +11 -6     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.12.4.3
  retrieving revision 1.12.4.4
  diff -u -b -r1.12.4.3 -r1.12.4.4
  --- AbstractInvoker.java	16 Nov 2006 17:57:02 -0000	1.12.4.3
  +++ AbstractInvoker.java	7 Dec 2006 03:20:16 -0000	1.12.4.4
  @@ -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.12.4.3 $
  + * @version $Revision: 1.12.4.4 $
    */
   public abstract class AbstractInvoker implements Invoker
   {
  @@ -116,7 +116,7 @@
       *
       * @param locator
       */
  -   public String addClientLocator(InvokerCallbackHandler callbackhandler, InvokerLocator locator)
  +   public String addClientLocator(String sessionId, InvokerCallbackHandler callbackhandler, InvokerLocator locator)
      {
         String listenerId = null;
         synchronized(localServerLocators)
  @@ -140,6 +140,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);
         }
   
  @@ -166,7 +168,7 @@
         return locator;
      }
   
  -   public List getClientLocators(InvokerCallbackHandler handler)
  +   public List getClientLocators(String sessionId, InvokerCallbackHandler handler)
      {
         List holderList = new ArrayList();
         if(handler != null)
  @@ -177,9 +179,12 @@
               Iterator itr = entries.iterator();
               while(itr.hasNext())
               {
  -               Map.Entry entry = (Map.Entry)itr.next();
  -               String listenerId = (String)entry.getKey();
  -               CallbackHandlerHolder holder = (CallbackHandlerHolder)entry.getValue();
  +               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