Author: ritchiem
Date: Wed Jul 23 03:30:26 2008
New Revision: 679059

URL: http://svn.apache.org/viewvc?rev=679059&view=rev
Log:
QPID-1187 : The broker did not correctly handle subscriptions that would 
suspend due to exhaustion of bytes credit. The processQueue loop would spin, 
this fix marks the subscription inactive for that loop in processQueue so it 
will stop processing that subscription and ultimately the whole processQueue 
loop if required.

Modified:
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java?rev=679059&r1=679058&r2=679059&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
 Wed Jul 23 03:30:26 2008
@@ -1397,8 +1397,12 @@
                                             }
                                             done = false;
                                         }
-                                        else
+                                        else // Not enough Credit for message 
and wouldSuspend
                                         {
+                                            //QPID-1187 - Treat the 
subscription as suspended for this message
+                                            // and wait for the message to be 
removed to continue delivery.
+                                            subActive = false;
+
                                             node.addStateChangeListener(new 
QueueEntryListener(sub, node));
                                         }
                                     }


Reply via email to