You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2010/03/04 12:17:32 UTC
svn commit: r918938 - in /qpid/trunk/qpid/java/broker/src:
main/java/org/apache/qpid/qmf/
main/java/org/apache/qpid/server/configuration/
main/java/org/apache/qpid/server/queue/
test/java/org/apache/qpid/server/queue/
Author: robbie
Date: Thu Mar 4 11:17:32 2010
New Revision: 918938
URL: http://svn.apache.org/viewvc?rev=918938&view=rev
Log:
QPID-2379: add ConsumerCountHigh to Queue delegate
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfig.java
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java?rev=918938&r1=918937&r2=918938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java Thu Mar 4 11:17:32 2010
@@ -981,8 +981,7 @@
public Long getConsumerCountHigh()
{
- // TODO
- return 0l;
+ return (long) _obj.getConsumerCountHigh();
}
public Long getConsumerCountLow()
Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfig.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfig.java?rev=918938&r1=918937&r2=918938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfig.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfig.java Thu Mar 4 11:17:32 2010
@@ -45,6 +45,8 @@
long getQueueDepth();
int getConsumerCount();
+
+ int getConsumerCountHigh();
int getBindingCount();
Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java?rev=918938&r1=918937&r2=918938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java Thu Mar 4 11:17:32 2010
@@ -119,8 +119,9 @@
private final AtomicLong _enqueueSize = new AtomicLong();
private final AtomicLong _persistentMessageEnqueueSize = new AtomicLong();
private final AtomicLong _persistentMessageDequeueSize = new AtomicLong();
- private final AtomicLong _persistentMessageEnqueueCount = new AtomicLong();;
+ private final AtomicLong _persistentMessageEnqueueCount = new AtomicLong();
private final AtomicLong _persistentMessageDequeueCount = new AtomicLong();
+ private final AtomicInteger _counsumerCountHigh = new AtomicInteger(0);
private final AtomicInteger _bindingCountHigh = new AtomicInteger();
@@ -406,6 +407,14 @@
subscription.setNoLocal(_nolocal);
}
_subscriptionList.add(subscription);
+
+ //Increment consumerCountHigh if necessary. (un)registerSubscription are both
+ //synchronized methods so we don't need additional synchronization here
+ if(_counsumerCountHigh.get() < getConsumerCount())
+ {
+ _counsumerCountHigh.incrementAndGet();
+ }
+
if (isDeleted())
{
subscription.queueDeleted(this);
@@ -801,6 +810,11 @@
{
return _subscriptionList.size();
}
+
+ public int getConsumerCountHigh()
+ {
+ return _counsumerCountHigh.get();
+ }
public int getActiveConsumerCount()
{
Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java?rev=918938&r1=918937&r2=918938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java Thu Mar 4 11:17:32 2010
@@ -547,4 +547,9 @@
{
return false;
}
+
+ public int getConsumerCountHigh()
+ {
+ return 0;
+ }
}
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org