summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2009-10-07 22:28:45 +0000
committerRobert Godfrey <rgodfrey@apache.org>2009-10-07 22:28:45 +0000
commit4a997d0ccf34f790cf9e55e6b2e22cc65b0428e1 (patch)
treef2e9d8c5acb42f068c30d6c0939e83b187d79c11 /qpid/java/broker/src/main
parentd9319171b0e761c86e39facf365db62a88ee1ce6 (diff)
downloadqpid-python-4a997d0ccf34f790cf9e55e6b2e22cc65b0428e1.tar.gz
QPID-942 : Added tests for broker and client log messages produced when flow control invoked
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@822949 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
index 8b6c15c0c3..08c4e94d1e 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
@@ -127,6 +127,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
private long _capacity = ApplicationRegistry.getInstance().getConfiguration().getCapacity();
private long _flowResumeCapacity = ApplicationRegistry.getInstance().getConfiguration().getFlowResumeCapacity();
+ private final AtomicBoolean _overfull = new AtomicBoolean(false);
protected SimpleAMQQueue(AMQShortString name, boolean durable, AMQShortString owner, boolean autoDelete, VirtualHost virtualHost)
throws AMQException
@@ -1187,6 +1188,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
{
if(_atomicQueueSize.get() > _capacity)
{
+ _overfull.set(true);
//Overfull log message
_logActor.message(_logSubject, QueueMessages.QUE_1003(_atomicQueueSize.get(), _capacity));
@@ -1217,10 +1219,12 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
{
if(_capacity != 0L)
{
- if(_atomicQueueSize.get() <= _flowResumeCapacity)
+ if(_overfull.get() && _atomicQueueSize.get() <= _flowResumeCapacity)
{
- //Underfull log message
- _logActor.message(_logSubject, QueueMessages.QUE_1004(_atomicQueueSize.get(), _flowResumeCapacity));
+ if(_overfull.compareAndSet(true,false))
+ {//Underfull log message
+ _logActor.message(_logSubject, QueueMessages.QUE_1004(_atomicQueueSize.get(), _flowResumeCapacity));
+ }
for(AMQChannel c : _blockedChannels.keySet())