User: hiram   
  Date: 01/02/21 14:52:00

  Modified:    src/main/org/jbossmq/server ClientConsumer.java
  Log:
  Bug fix: Acking durable subscriber messages was causing exceptions.
  Bug reported by: Polina Alber <[EMAIL PROTECTED]> and Greg Lappen 
<[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.2       +8 -8      jbossmq/src/main/org/jbossmq/server/ClientConsumer.java
  
  Index: ClientConsumer.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jbossmq/src/main/org/jbossmq/server/ClientConsumer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ClientConsumer.java       2001/01/26 00:43:53     1.1
  +++ ClientConsumer.java       2001/02/21 22:52:00     1.2
  @@ -31,7 +31,7 @@
    *
    *   @author Hiram Chirino ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class ClientConsumer implements Task {
   
  @@ -72,12 +72,10 @@
                        public void run() {
                                try {
                                        Log.log("Restoring message: " + 
message.getJMSMessageID());
  -                                     String queueId;
  +                                     String 
queueId=JMSDestination.DEFAULT_QUEUE_ID;;
                                        if( message.getJMSDestination() instanceof 
SpyTopic ) {
                                                Subscription req = 
(Subscription)subscriptions.get(new Integer(subscriptionId));
                                                queueId = 
JMSDestination.durableSubscriptionToQueueId(dc.getClientID(),req.durableSubscriptionName);
  -                                     } else {
  -                                             queueId = 
JMSDestination.DEFAULT_QUEUE_ID;
                                        }
                                        server.restoreMessage(message,queueId);
                                } catch ( JMSException e ) {
  @@ -104,10 +102,12 @@
                } else {
                        
                        if( m.getJMSDeliveryMode() == DeliveryMode.PERSISTENT ) {
  -                             if( m.getJMSDestination() instanceof SpyQueue )
  -                                     server.persistenceManager.remove("queue", 
m,txId);
  -                             else
  -                                     
server.persistenceManager.remove(dc.getClientID(), m,txId);
  +                             String queueId = JMSDestination.DEFAULT_QUEUE_ID;
  +                             if( m.getJMSDestination() instanceof SpyTopic ) {
  +                                     Subscription req = 
(Subscription)subscriptions.get(new Integer(item.subscriberId));
  +                                     queueId = 
JMSDestination.durableSubscriptionToQueueId(dc.getClientID(),req.durableSubscriptionName);
  +                             }                               
  +                             server.persistenceManager.remove(queueId, m, txId);
                        }
                        
                        Runnable task = new RestoreMessageTask(m,item.subscriberId);
  
  
  

Reply via email to