Author: rmannibucau
Date: Sun Nov 20 18:26:56 2011
New Revision: 1204204

URL: http://svn.apache.org/viewvc?rev=1204204&view=rev
Log:
OPENEJB-1711 fixing tests broken by the parallelism of the stateless creation

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java
    
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java
    
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java?rev=1204204&r1=1204203&r2=1204204&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java
 Sun Nov 20 18:26:56 2011
@@ -188,8 +188,13 @@ public class StatsInterceptor {
 
         Stats stats = map.get(method);
         if (stats == null) {
-            stats = new Stats(method, monitor);
-            map.put(method, stats);
+            synchronized (map) {
+                stats = map.get(method);
+                if (stats == null) {
+                    stats = new Stats(method, monitor);
+                    map.put(method, stats);
+                }
+            }
         }
         return stats;
     }

Modified: 
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java?rev=1204204&r1=1204203&r2=1204204&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java
 Sun Nov 20 18:26:56 2011
@@ -186,24 +186,24 @@ public class StatelessInvocationStatsTes
             } else {
                 expectedValues.put(s + ".Count", (long) 1);
             }
-            expectedValues.put(s + ".GeometricMean", (double) 0.0);
+            expectedValues.put(s + ".GeometricMean", 0.0);
             expectedValues.put(s + ".Kurtosis", Double.NaN);
-            expectedValues.put(s + ".Max", (double) 0.0);
-            expectedValues.put(s + ".Mean", (double) 0.0);
-            expectedValues.put(s + ".Min", (double) 0.0);
-            expectedValues.put(s + ".Percentile01", (double) 0.0);
-            expectedValues.put(s + ".Percentile10", (double) 0.0);
-            expectedValues.put(s + ".Percentile25", (double) 0.0);
-            expectedValues.put(s + ".Percentile50", (double) 0.0);
-            expectedValues.put(s + ".Percentile75", (double) 0.0);
-            expectedValues.put(s + ".Percentile90", (double) 0.0);
-            expectedValues.put(s + ".Percentile99", (double) 0.0);
-            expectedValues.put(s + ".SampleSize", (int) 2000);
+            expectedValues.put(s + ".Max", 0.0);
+            expectedValues.put(s + ".Mean", 0.0);
+            expectedValues.put(s + ".Min", 0.0);
+            expectedValues.put(s + ".Percentile01", 0.0);
+            expectedValues.put(s + ".Percentile10", 0.0);
+            expectedValues.put(s + ".Percentile25", 0.0);
+            expectedValues.put(s + ".Percentile50", 0.0);
+            expectedValues.put(s + ".Percentile75", 0.0);
+            expectedValues.put(s + ".Percentile90", 0.0);
+            expectedValues.put(s + ".Percentile99", 0.0);
+            expectedValues.put(s + ".SampleSize", 2000);
             expectedValues.put(s + ".Skewness", Double.NaN);
-            expectedValues.put(s + ".StandardDeviation", (double) 0.0);
-            expectedValues.put(s + ".Sum", (double) 0.0);
-            expectedValues.put(s + ".Sumsq", (double) 0.0);
-            expectedValues.put(s + ".Variance", (double) 0.0);
+            expectedValues.put(s + ".StandardDeviation", 0.0);
+            expectedValues.put(s + ".Sum", 0.0);
+            expectedValues.put(s + ".Sumsq", 0.0);
+            expectedValues.put(s + ".Variance", 0.0);
         }
 
         List<MBeanAttributeInfo> actualAttributes = new 
ArrayList<MBeanAttributeInfo>();
@@ -216,6 +216,11 @@ public class StatelessInvocationStatsTes
 
         //Verify invocation attributes and values
         assertEquals(expectedAttributes, actualAttributes);
+        for (Map.Entry<String, Object> entry : actualValues.entrySet()) {
+            if 
(!expectedValues.get(entry.getKey()).equals(actualValues.get(entry.getKey()))) {
+                System.out.println("2. " + entry.getKey() + " => " + 
entry.getValue() + "/" + expectedValues.get(entry.getKey()));
+            }
+        }
         assertEquals(expectedValues, actualValues);
 
         // Grab invocation mbean operations

Modified: 
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java?rev=1204204&r1=1204203&r2=1204204&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessPoolStatsTest.java
 Sun Nov 20 18:26:56 2011
@@ -135,24 +135,24 @@ public class StatelessPoolStatsTest exte
         Map<String, Object> expectedAttributesValue = new HashMap<String, 
Object>();
         expectedAttributesValue.put("AccessTimeouts", (long) 0);
         expectedAttributesValue.put("Aged", (long) 0);
-        expectedAttributesValue.put("AvailablePermits", (int) 15);
+        expectedAttributesValue.put("AvailablePermits", 15);
         expectedAttributesValue.put("Flushed", (long) 0);
         expectedAttributesValue.put("Flushes", (long) 0);
         expectedAttributesValue.put("GarbageCollected", (long) 0);
         expectedAttributesValue.put("GarbageCollection", false);
         expectedAttributesValue.put("IdleTimeout", (long) 0);
         expectedAttributesValue.put("IdleTimeouts", (long) 0);
-        expectedAttributesValue.put("InstancesPooled", (int) 3);
-        expectedAttributesValue.put("InstancesActive", (int) 0);
-        expectedAttributesValue.put("InstancesIdle", (int) 3);
-        expectedAttributesValue.put("InstancesInitializing", (int) 0);
+        expectedAttributesValue.put("InstancesPooled", 3);
+        expectedAttributesValue.put("InstancesActive", 0);
+        expectedAttributesValue.put("InstancesIdle", 3);
+        expectedAttributesValue.put("InstancesInitializing", 0);
         expectedAttributesValue.put("MaxAge", (long) 0);
-        expectedAttributesValue.put("MaxAgeOffset", (double) (-1.0));
-        expectedAttributesValue.put("MaxSize", (int) 15);
-        expectedAttributesValue.put("MinSize", (int) 3);
-        expectedAttributesValue.put("MinimumInstances", (int) 3);
+        expectedAttributesValue.put("MaxAgeOffset", -1.0);
+        expectedAttributesValue.put("MaxSize", 15);
+        expectedAttributesValue.put("MinSize", 3);
+        expectedAttributesValue.put("MinimumInstances", 3);
         expectedAttributesValue.put("Overdrafts", (long) 0);
-        expectedAttributesValue.put("PoolVersion", (int) 0);
+        expectedAttributesValue.put("PoolVersion", 0);
         expectedAttributesValue.put("ReplaceAged", true);
         expectedAttributesValue.put("ReplaceFlushed", false);
         expectedAttributesValue.put("Replaced", (long) 0);
@@ -383,7 +383,7 @@ public class StatelessPoolStatsTest exte
 
         CounterBean.constructed = new CountDownLatch(3);
 
-        Thread.sleep(101);
+        Thread.sleep(110);
 
         checkout.release();
 


Reply via email to