Author: davsclaus
Date: Mon Jan 31 08:45:16 2011
New Revision: 1065523

URL: http://svn.apache.org/viewvc?rev=1065523&view=rev
Log:
Added task queue information to managed thread pool.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThreadPool.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedThreadPoolTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThreadPool.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThreadPool.java?rev=1065523&r1=1065522&r2=1065523&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThreadPool.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedThreadPool.java
 Mon Jan 31 08:45:16 2011
@@ -124,6 +124,24 @@ public class ManagedThreadPool {
         return threadPool.getCompletedTaskCount();
     }
 
+    @ManagedAttribute(description = "Task queue size")
+    public long getTaskQueueSize() {
+        if (threadPool.getQueue() != null) {
+            return threadPool.getQueue().size();
+        } else {
+            return 0;
+        }
+    }
+
+    @ManagedAttribute(description = "Is task queue empty")
+    public boolean isTaskQueueEmpty() {
+        if (threadPool.getQueue() != null) {
+            return threadPool.getQueue().isEmpty();
+        } else {
+            return true;
+        }
+    }
+
     @ManagedAttribute(description = "Keep alive time in seconds")
     public long getKeepAliveTime() {
         return threadPool.getKeepAliveTime(TimeUnit.SECONDS);

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedThreadPoolTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedThreadPoolTest.java?rev=1065523&r1=1065522&r2=1065523&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedThreadPoolTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedThreadPoolTest.java
 Mon Jan 31 08:45:16 2011
@@ -61,6 +61,12 @@ public class ManagedThreadPoolTest exten
 
         Long completed = (Long) mbeanServer.getAttribute(on, 
"CompletedTaskCount");
         assertEquals(1, completed.intValue());
+
+        Long size = (Long) mbeanServer.getAttribute(on, "TaskQueueSize");
+        assertEquals(0, size.intValue());
+
+        Boolean empty = (Boolean) mbeanServer.getAttribute(on, 
"TaskQueueEmpty");
+        assertEquals(true, empty.booleanValue());
     }
 
     @Override


Reply via email to