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

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


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

  Modified:    src/main/org/jboss/remoting  Tag: remoting_2_x Client.java
  Log:
  JBREM-622:  Conforms to change in AbstractInvoker, which stores InvokerCallbackHandlers keyed on sessionId
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.53.2.7  +30 -13    JBossRemoting/src/main/org/jboss/remoting/Client.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Client.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/Client.java,v
  retrieving revision 1.53.2.6
  retrieving revision 1.53.2.7
  diff -u -b -r1.53.2.6 -r1.53.2.7
  --- Client.java	28 Nov 2006 20:30:23 -0000	1.53.2.6
  +++ Client.java	7 Dec 2006 03:20:52 -0000	1.53.2.7
  @@ -63,7 +63,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.53.2.6 $
  + * @version $Revision: 1.53.2.7 $
    */
   public class Client implements Externalizable
   {
  @@ -1035,7 +1035,7 @@
         {
            // is going to be push callbacks which means callback server locator involved.
            // will have to delegate to client invoker.
  -         String listenerId = invoker.addClientLocator(callbackhandler, callbackLocator);
  +         String listenerId = invoker.addClientLocator(sessionId, callbackhandler, callbackLocator);
   
            if (listenerId != null)
            {
  @@ -1157,18 +1157,32 @@
            if (callbackHandler != null)
            {
               // first need to see if is push or pull callback (i.e. does have locator associated with it)
  -            String listenerId = (String)listeners.remove(callbackHandler);
  +            String listenerId = (String)listeners.get(callbackHandler);
               if(listenerId != null)
               {
                  // have a pull callback handler
                  Map metadata = new HashMap();
                  metadata.put(LISTENER_ID_KEY, listenerId);
                  invoke(new InternalInvocation(InternalInvocation.REMOVELISTENER, null), metadata);
  +               
  +               // clean up callback poller if one exists
  +               CallbackPoller callbackPoller = (CallbackPoller) callbackPollers.remove(callbackHandler);
  +               if (callbackPoller != null)
  +               {
  +                  callbackPoller.stop();
  +               }
  +               
  +               listeners.remove(callbackHandler);
  +               
  +//               // have a pull callback handler
  +//               Map metadata = new HashMap();
  +//               metadata.put(LISTENER_ID_KEY, listenerId);
  +//               invoke(new InternalInvocation(InternalInvocation.REMOVELISTENER, null), metadata);
               }
               else
               {
                  // have a push callback handler
  -               List holderList = invoker.getClientLocators(callbackHandler);
  +               List holderList = invoker.getClientLocators(sessionId, callbackHandler);
                  if(holderList != null && holderList.size() > 0)
                  {
                     for(int x = 0; x < holderList.size(); x++)
  @@ -1179,6 +1193,9 @@
                        Map metadata = new HashMap();
                        metadata.put(LISTENER_ID_KEY, listenerId);
   
  +                     // now call target server to remove listener
  +                     invoke(new InternalInvocation(InternalInvocation.REMOVELISTENER, null), metadata);
  +                     
                        // call to callback server to remove listener
                        Client client = new Client(locator, subsystem);
                        client.setSessionId(getSessionId());
  @@ -1187,9 +1204,9 @@
                                                             new Object[]{callbackHandler}),
                                      metadata);
                        client.disconnect();
  -
  -                     // now call target server to remove listener
  -                     invoke(new InternalInvocation(InternalInvocation.REMOVELISTENER, null), metadata);
  +//
  +//                     // now call target server to remove listener
  +//                     invoke(new InternalInvocation(InternalInvocation.REMOVELISTENER, null), metadata);
   
                     }
                  }
  @@ -1223,12 +1240,12 @@
                  callbackConnector.destroy();
               }
   
  -            // clean up callback poller if one exists
  -            CallbackPoller callbackPoller = (CallbackPoller) callbackPollers.remove(callbackHandler);
  -            if (callbackPoller != null)
  -            {
  -               callbackPoller.stop();
  -            }
  +//            // clean up callback poller if one exists
  +//            CallbackPoller callbackPoller = (CallbackPoller) callbackPollers.remove(callbackHandler);
  +//            if (callbackPoller != null)
  +//            {
  +//               callbackPoller.stop();
  +//            }
            }
            else
            {
  
  
  



More information about the jboss-cvs-commits mailing list