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