User: hiram   
  Date: 01/01/04 15:24:49

  Modified:    src/java/org/spydermq SpyMessageConsumer.java
  Log:
  Bug Fix: message consumers would hang if it was delivered a message after it was 
closed.
  
  Revision  Changes    Path
  1.14      +10 -1     spyderMQ/src/java/org/spydermq/SpyMessageConsumer.java
  
  Index: SpyMessageConsumer.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/spyderMQ/src/java/org/spydermq/SpyMessageConsumer.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- SpyMessageConsumer.java   2000/12/31 23:46:32     1.13
  +++ SpyMessageConsumer.java   2001/01/04 23:24:49     1.14
  @@ -24,7 +24,7 @@
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    *   @author Hiram Chirino ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.13 $
  + *   @version $Revision: 1.14 $
    */
   public class SpyMessageConsumer implements MessageConsumer, SpyConsumer {
   
  @@ -218,6 +218,14 @@
   
        public void addMessage(SpyMessage mes) throws JMSException {
                synchronized (messages) {
  +
  +                     if( closed ) {
  +                             if( mes.shouldAck ) {
  +                                     Log.log("WARNING: NACK issued. The message 
consumer was closed.");
  +                                     session.connection.send( 
mes.getAcknowledgementRequest(false) );
  +                             }
  +                     }
  +                     
                        //Add a message to the queue
                        if( subscription.accepts(mes, mes.shouldAck) ) {
                                messages.addLast(mes);
  @@ -292,7 +300,8 @@
        }
   
        public void processMessages() throws JMSException {
  -             session.mutex.notifyLock();
  +             if( !closed )
  +                     session.mutex.notifyLock();
        }
   
        public Subscription getSubscription() {
  
  
  

Reply via email to