Author: kevan
Date: Mon Sep 13 19:32:45 2010
New Revision: 996656

URL: http://svn.apache.org/viewvc?rev=996656&view=rev
Log:
Updates to Pool statistics. InstancesIdle should not be negative. Added 
InstancesInitializing to report instances that have been created or are being 
created, but have not yet been added to the pool

Modified:
    
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
    
openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java

Modified: 
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java?rev=996656&r1=996655&r2=996656&view=diff
==============================================================================
--- 
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
 (original)
+++ 
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
 Mon Sep 13 19:32:45 2010
@@ -947,7 +947,12 @@ public class Pool<T> {
 
         @Managed
         private int getInstancesIdle() {
-            return getInstancesPooled() - getInstancesActive();
+            return Math.max(0, getInstancesPooled() - getInstancesActive());
+        }
+
+        @Managed
+        private int getInstancesInitializing() {
+            return Math.max(0, getInstancesActive() - getInstancesPooled());
         }
 
         @Managed

Modified: 
openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java?rev=996656&r1=996655&r2=996656&view=diff
==============================================================================
--- 
openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java
 (original)
+++ 
openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java
 Mon Sep 13 19:32:45 2010
@@ -101,6 +101,7 @@ public class StatelessPoolStatsTest exte
         expectedAttributes.add(new MBeanAttributeInfo("IdleTimeouts.Latest", 
"java.lang.String", "", true, false, false));
         expectedAttributes.add(new MBeanAttributeInfo("InstancesActive", 
"int", "", true, false, false));
         expectedAttributes.add(new MBeanAttributeInfo("InstancesIdle", "int", 
"", true, false, false));
+        expectedAttributes.add(new MBeanAttributeInfo("InstancesInitializing", 
"int", "", true, false, false));
         expectedAttributes.add(new MBeanAttributeInfo("InstancesPooled", 
"int", "", true, false, false));
         expectedAttributes.add(new MBeanAttributeInfo("MaxAge", "long", "", 
true, false, false));
         expectedAttributes.add(new MBeanAttributeInfo("MaxAgeOffset", 
"double", "", true, false, false));
@@ -134,6 +135,7 @@ public class StatelessPoolStatsTest exte
         expectedAttributesValue.put("InstancesPooled", (int) 3);
         expectedAttributesValue.put("InstancesActive", (int) 0);
         expectedAttributesValue.put("InstancesIdle", (int) 3);
+        expectedAttributesValue.put("InstancesInitializing", (int) 0);
         expectedAttributesValue.put("MaxAge", (long) 0);
         expectedAttributesValue.put("MaxAgeOffset", (double) (-1.0));
         expectedAttributesValue.put("MaxSize", (int) 15);


Reply via email to