User: pkendall
  Date: 01/07/30 02:23:23

  Modified:    src/main/org/jbossmq/server ClientConsumer.java
  Log:
  make receive return a message from the server if it can in all modes.
  
  Revision  Changes    Path
  1.14      +9 -7      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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ClientConsumer.java       2001/07/30 04:09:54     1.13
  +++ ClientConsumer.java       2001/07/30 09:23:23     1.14
  @@ -31,7 +31,7 @@
    *
    *   @author Hiram Chirino ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.13 $
  + *   @version $Revision: 1.14 $
    */
   public class ClientConsumer implements Runnable {
   
  @@ -238,8 +238,7 @@
                if( queue == null )
                        throw new JMSException("The subscription's destination does 
not exist");
   
  -             // Is it a receiveNoWait()
  -             if( wait == -1 && req.subscription.actsLikeAQueue ) {
  +             if( req.subscription.actsLikeAQueue ) {
                        SpyMessage message = req.dest.receiveNoWait(req.subscription);
   
                        if( message != null ) {
  @@ -252,14 +251,17 @@
                                synchronized (unacknowledgedMessages) {
                                        unacknowledgedMessages.put(ack, message);
                                }
  +                             return message;
                        }
  +             }
   
  -                     return message;
  +             // If not receiveNoWait()
  +             if( wait != -1 ) {
  +                     // Notify the queue. It could be waiting for a consumer
  +                     req.subscription.receiving = true;
  +                     req.dest.notifyMessageAvailable();
                }
   
  -             // Notify the queue. It could be waiting for a consumer
  -             req.subscription.receiving = true;
  -             req.dest.notifyMessageAvailable();
                return null;            
        }
   
  
  
  

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

Reply via email to