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