User: pkendall
  Date: 01/07/29 20:26:51

  Modified:    src/main/org/jbossmq/server ClientConsumer.java
  Log:
  fix addSubscription
  
  Revision  Changes    Path
  1.12      +15 -23    jbossmq/src/main/org/jbossmq/server/ClientConsumer.java
  
  Index: ClientConsumer.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmq/src/main/org/jbossmq/server/ClientConsumer.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ClientConsumer.java       2001/07/29 22:54:58     1.11
  +++ ClientConsumer.java       2001/07/30 03:26:51     1.12
  @@ -31,7 +31,7 @@
    *
    *   @author Hiram Chirino ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.11 $
  + *   @version $Revision: 1.12 $
    */
   public class ClientConsumer implements Runnable {
   
  @@ -138,35 +138,27 @@
                cat.debug("Adding subscription for: "+req);
                req.dc = dc;
                
  +             JMSDestination 
queue=(JMSDestination)server.getJMSDestination(req.destination);
  +             if (queue==null) throw new JMSException("This destination does not 
exist !");
  +
  +             SubscriptionState subState = new SubscriptionState( req );
  +             subState.dest = queue.addConsumer(req, this);
  +                             
                synchronized (subscriptions ) {
  -                     SubscriptionState subState = new SubscriptionState( req );
  -                     
                        HashMap subscriptionsClone = (HashMap)subscriptions.clone();
                        subscriptionsClone.put(new Integer(req.subscriptionId), 
subState );
                        subscriptions = subscriptionsClone;
                                
                        LinkedList ll = (LinkedList)destinationSubscriptions.get( 
req.destination );
  -                     if( ll == null ) {
  -
  -                             JMSDestination 
queue=(JMSDestination)server.getJMSDestination(req.destination);
  -                             if (queue==null) throw new JMSException("This 
destination does not exist !");
  -                             
  +                     if( ll == null )
                                ll = new LinkedList();
  -                             ll.add( subState );
  -                             
  -                             HashMap destinationSubscriptionsClone = 
(HashMap)destinationSubscriptions.clone();
  -                             destinationSubscriptionsClone.put(req.destination, ll 
);                                
  -                             destinationSubscriptions = 
destinationSubscriptionsClone;
  -                             subState.dest = queue.addConsumer(req, this);
  -                             
  -                     } else {
  -                             LinkedList llClone = (LinkedList)ll.clone();
  -                             llClone.add( req );
  -                             
  -                             HashMap destinationSubscriptionsClone = 
(HashMap)destinationSubscriptions.clone();
  -                             destinationSubscriptionsClone.put(req.destination, 
llClone);
  -                             destinationSubscriptions = 
destinationSubscriptionsClone;
  -                     }
  +                     else
  +                             ll = (LinkedList)ll.clone();
  +                     ll.add( subState );
  +                             
  +                     HashMap destinationSubscriptionsClone = 
(HashMap)destinationSubscriptions.clone();
  +                     destinationSubscriptionsClone.put(req.destination, ll );       
                         
  +                     destinationSubscriptions = destinationSubscriptionsClone;
                }                       
        }
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to