You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2013/10/14 22:42:03 UTC

svn commit: r1532083 - /commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java

Author: markt
Date: Mon Oct 14 20:42:03 2013
New Revision: 1532083

URL: http://svn.apache.org/r1532083
Log:
Fix some FindBugs warnings

Modified:
    commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java

Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java?rev=1532083&r1=1532082&r2=1532083&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java (original)
+++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java Mon Oct 14 20:42:03 2013
@@ -60,10 +60,10 @@ public class TestGenericKeyedObjectPool 
     protected KeyedObjectPool<Object,Object> makeEmptyPool(int mincapacity) {
 
         KeyedPooledObjectFactory<Object,Object> factory =
-                new KeyedPooledObjectFactory<Object,Object>()  {
+                new BaseKeyedPooledObjectFactory<Object,Object>()  {
             ConcurrentHashMap<Object,AtomicInteger> map = new ConcurrentHashMap<Object,AtomicInteger>();
             @Override
-            public PooledObject<Object> makeObject(Object key) {
+            public Object create(Object key) throws Exception {
                 int counter = 0;
                 AtomicInteger Counter = map.get(key);
                 if(null != Counter) {
@@ -72,16 +72,8 @@ public class TestGenericKeyedObjectPool 
                     map.put(key, new AtomicInteger(0));
                     counter = 0;
                 }
-                return new DefaultPooledObject<Object>(String.valueOf(key) + String.valueOf(counter));
+                return String.valueOf(key) + String.valueOf(counter);
             }
-            @Override
-            public void destroyObject(Object key, PooledObject<Object> obj) { }
-            @Override
-            public boolean validateObject(Object key, PooledObject<Object> obj) { return true; }
-            @Override
-            public void activateObject(Object key,PooledObject<Object> obj) { }
-            @Override
-            public void passivateObject(Object key, PooledObject<Object> obj) { }
         };
 
         GenericKeyedObjectPool<Object,Object> pool =
@@ -110,9 +102,9 @@ public class TestGenericKeyedObjectPool 
 
     private GenericKeyedObjectPool<String,String> pool = null;
     private SimpleFactory<String> factory = null;
-    private final Integer zero = new Integer(0);
-    private final Integer one = new Integer(1);
-    private final Integer two = new Integer(2);
+    private static final Integer KEY_ZERO = Integer.valueOf(0);
+    private static final Integer KEY_ONE = Integer.valueOf(1);
+    private static final Integer KEY_TWO = Integer.valueOf(2);
 
     @Before
     public void setUp() throws Exception {
@@ -750,7 +742,7 @@ public class TestGenericKeyedObjectPool 
         pool.setLifo(lifo);
 
         for (int i = 0; i < 3; i ++) {
-            Integer key = new Integer(i);
+            Integer key = Integer.valueOf(i);
             for (int j = 0; j < 5; j++) {
                 pool.addObject(key);
             }
@@ -768,41 +760,41 @@ public class TestGenericKeyedObjectPool 
          */
 
         pool.evict(); // Kill (0,0),(0,1)
-        assertEquals(3, pool.getNumIdle(zero));
-        String objZeroA = pool.borrowObject(zero);
+        assertEquals(3, pool.getNumIdle(KEY_ZERO));
+        String objZeroA = pool.borrowObject(KEY_ZERO);
         assertTrue(lifo ? objZeroA.equals("04") : objZeroA.equals("02"));
-        assertEquals(2, pool.getNumIdle(zero));
-        String objZeroB = pool.borrowObject(zero);
+        assertEquals(2, pool.getNumIdle(KEY_ZERO));
+        String objZeroB = pool.borrowObject(KEY_ZERO);
         assertTrue(objZeroB.equals("03"));
-        assertEquals(1, pool.getNumIdle(zero));
+        assertEquals(1, pool.getNumIdle(KEY_ZERO));
 
         pool.evict(); // Kill remaining 0 survivor and (1,5)
-        assertEquals(0, pool.getNumIdle(zero));
-        assertEquals(4, pool.getNumIdle(one));
-        String objOneA = pool.borrowObject(one);
+        assertEquals(0, pool.getNumIdle(KEY_ZERO));
+        assertEquals(4, pool.getNumIdle(KEY_ONE));
+        String objOneA = pool.borrowObject(KEY_ONE);
         assertTrue(lifo ? objOneA.equals("19") : objOneA.equals("16"));
-        assertEquals(3, pool.getNumIdle(one));
-        String objOneB = pool.borrowObject(one);
+        assertEquals(3, pool.getNumIdle(KEY_ONE));
+        String objOneB = pool.borrowObject(KEY_ONE);
         assertTrue(lifo ? objOneB.equals("18") : objOneB.equals("17"));
-        assertEquals(2, pool.getNumIdle(one));
+        assertEquals(2, pool.getNumIdle(KEY_ONE));
 
         pool.evict(); // Kill remaining 1 survivors
-        assertEquals(0, pool.getNumIdle(one));
+        assertEquals(0, pool.getNumIdle(KEY_ONE));
         pool.evict(); // Kill (2,10), (2,11)
-        assertEquals(3, pool.getNumIdle(two));
-        String objTwoA = pool.borrowObject(two);
+        assertEquals(3, pool.getNumIdle(KEY_TWO));
+        String objTwoA = pool.borrowObject(KEY_TWO);
         assertTrue(lifo ? objTwoA.equals("214") : objTwoA.equals("212"));
-        assertEquals(2, pool.getNumIdle(two));
+        assertEquals(2, pool.getNumIdle(KEY_TWO));
         pool.evict(); // All dead now
-        assertEquals(0, pool.getNumIdle(two));
+        assertEquals(0, pool.getNumIdle(KEY_TWO));
 
         pool.evict(); // Should do nothing - make sure no exception
         // Currently 2 zero, 2 one and 1 two active. Return them
-        pool.returnObject(zero, objZeroA);
-        pool.returnObject(zero, objZeroB);
-        pool.returnObject(one, objOneA);
-        pool.returnObject(one, objOneB);
-        pool.returnObject(two, objTwoA);
+        pool.returnObject(KEY_ZERO, objZeroA);
+        pool.returnObject(KEY_ZERO, objZeroB);
+        pool.returnObject(KEY_ONE, objOneA);
+        pool.returnObject(KEY_ONE, objOneB);
+        pool.returnObject(KEY_TWO, objTwoA);
         // Remove all idle objects
         pool.clear();
 
@@ -810,7 +802,7 @@ public class TestGenericKeyedObjectPool 
         pool.setMinEvictableIdleTimeMillis(500);
         factory.counter = 0; // Reset counter
         for (int i = 0; i < 3; i ++) {
-            Integer key = new Integer(i);
+            Integer key = Integer.valueOf(i);
             for (int j = 0; j < 5; j++) {
                 pool.addObject(key);
             }
@@ -819,33 +811,33 @@ public class TestGenericKeyedObjectPool 
 
         // 0's are evictable, others not
         pool.evict(); // Kill (0,0),(0,1)
-        assertEquals(3, pool.getNumIdle(zero));
+        assertEquals(3, pool.getNumIdle(KEY_ZERO));
         pool.evict(); // Kill (0,2),(0,3)
-        assertEquals(1, pool.getNumIdle(zero));
+        assertEquals(1, pool.getNumIdle(KEY_ZERO));
         pool.evict(); // Kill (0,4), leave (1,5)
-        assertEquals(0, pool.getNumIdle(zero));
-        assertEquals(5, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
+        assertEquals(0, pool.getNumIdle(KEY_ZERO));
+        assertEquals(5, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
         pool.evict(); // (1,6), (1,7)
-        assertEquals(5, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
+        assertEquals(5, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
         pool.evict(); // (1,8), (1,9)
-        assertEquals(5, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
+        assertEquals(5, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
         pool.evict(); // (2,10), (2,11)
-        assertEquals(5, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
+        assertEquals(5, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
         pool.evict(); // (2,12), (2,13)
-        assertEquals(5, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
+        assertEquals(5, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
         pool.evict(); // (2,14), (1,5)
-        assertEquals(5, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
+        assertEquals(5, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
         Thread.sleep(200); // Ones now timed out
         pool.evict(); // kill (1,6), (1,7) - (1,5) missed
-        assertEquals(3, pool.getNumIdle(one));
-        assertEquals(5, pool.getNumIdle(two));
-        String obj = pool.borrowObject(one);
+        assertEquals(3, pool.getNumIdle(KEY_ONE));
+        assertEquals(5, pool.getNumIdle(KEY_TWO));
+        String obj = pool.borrowObject(KEY_ONE);
         if (lifo) {
             assertEquals("19", obj);
         } else {
@@ -877,22 +869,22 @@ public class TestGenericKeyedObjectPool 
         pool.setTestOnBorrow(false);
         for (int i = 0; i < 3; i ++) {
             factory.resetId();
-            Integer key = new Integer(i);
+            Integer key = Integer.valueOf(i);
             for (int j = 0; j < 8; j++) {
                 pool.addObject(key);
             }
         }
         pool.evict(); // Visit oldest 2 - 00 and 01
-        VisitTracker<Integer> obj = pool.borrowObject(zero);
-        pool.returnObject(zero, obj);
-        obj = pool.borrowObject(zero);
-        pool.returnObject(zero, obj);
+        VisitTracker<Integer> obj = pool.borrowObject(KEY_ZERO);
+        pool.returnObject(KEY_ZERO, obj);
+        obj = pool.borrowObject(KEY_ZERO);
+        pool.returnObject(KEY_ZERO, obj);
         //  borrow, return, borrow, return
         //  FIFO will move 0 and 1 to end - 2,3,4,5,6,7,0,1
         //  LIFO, 7 out, then in, then out, then in - 7,6,5,4,3,2,1,0
         pool.evict();  // Should visit 02 and 03 in either case
         for (int i = 0; i < 8; i++) {
-            VisitTracker<Integer> tracker = pool.borrowObject(zero);
+            VisitTracker<Integer> tracker = pool.borrowObject(KEY_ZERO);
             if (tracker.getId() >= 4) {
                 assertEquals("Unexpected instance visited " + tracker.getId(),
                         0, tracker.getValidateCount());
@@ -909,12 +901,12 @@ public class TestGenericKeyedObjectPool 
         pool.evict(); // 10, 11, 12
         pool.evict(); // 13, 14, 15
 
-        obj = pool.borrowObject(one);
-        pool.returnObject(one, obj);
-        obj = pool.borrowObject(one);
-        pool.returnObject(one, obj);
-        obj = pool.borrowObject(one);
-        pool.returnObject(one, obj);
+        obj = pool.borrowObject(KEY_ONE);
+        pool.returnObject(KEY_ONE, obj);
+        obj = pool.borrowObject(KEY_ONE);
+        pool.returnObject(KEY_ONE, obj);
+        obj = pool.borrowObject(KEY_ONE);
+        pool.returnObject(KEY_ONE, obj);
         // borrow, return, borrow, return
         //  FIFO 3,4,5,^,6,7,0,1,2
         //  LIFO 7,6,^,5,4,3,2,1,0
@@ -932,7 +924,7 @@ public class TestGenericKeyedObjectPool 
         // LIFO - 27, 10, 11
         // FIFO - 24, 25, 26
         for (int i = 0; i < 8; i++) {
-            VisitTracker<Integer> tracker = pool.borrowObject(one);
+            VisitTracker<Integer> tracker = pool.borrowObject(KEY_ONE);
             if ((lifo && tracker.getId() > 1) ||
                     (!lifo && tracker.getId() > 2)) {
                 assertEquals("Instance " +  tracker.getId() +
@@ -968,15 +960,15 @@ public class TestGenericKeyedObjectPool 
 
                 int zeroLength = 10 + random.nextInt(20);
                 for (int k = 0; k < zeroLength; k++) {
-                    pool.addObject(zero);
+                    pool.addObject(KEY_ZERO);
                 }
                 int oneLength = 10 + random.nextInt(20);
                 for (int k = 0; k < oneLength; k++) {
-                    pool.addObject(one);
+                    pool.addObject(KEY_ONE);
                 }
                 int twoLength = 10 + random.nextInt(20);
                 for (int k = 0; k < twoLength; k++) {
-                    pool.addObject(two);
+                    pool.addObject(KEY_TWO);
                 }
 
                 // Choose a random number of evictor runs
@@ -997,7 +989,7 @@ public class TestGenericKeyedObjectPool 
                 VisitTracker<Integer> tracker = null;
                 int visitCount = 0;
                 for (int k = 0; k < zeroLength; k++) {
-                    tracker = pool.borrowObject(zero);
+                    tracker = pool.borrowObject(KEY_ZERO);
                     visitCount = tracker.getValidateCount();
                     if (visitCount < cycleCount || visitCount > cycleCount + 1){
                         fail(formatSettings("ZERO", "runs", runs, "lifo", lifo, "i", i, "j", j,
@@ -1006,7 +998,7 @@ public class TestGenericKeyedObjectPool 
                     }
                 }
                 for (int k = 0; k < oneLength; k++) {
-                    tracker = pool.borrowObject(one);
+                    tracker = pool.borrowObject(KEY_ONE);
                     visitCount = tracker.getValidateCount();
                     if (visitCount < cycleCount || visitCount > cycleCount + 1){
                         fail(formatSettings("ONE", "runs", runs, "lifo", lifo, "i", i, "j", j,
@@ -1016,7 +1008,7 @@ public class TestGenericKeyedObjectPool 
                 }
                 int visits[] = new int[twoLength];
                 for (int k = 0; k < twoLength; k++) {
-                    tracker = pool.borrowObject(two);
+                    tracker = pool.borrowObject(KEY_TWO);
                     visitCount = tracker.getValidateCount();
                     visits[k] = visitCount;
                     if (visitCount < cycleCount || visitCount > cycleCount + 1){
@@ -1460,9 +1452,9 @@ public class TestGenericKeyedObjectPool 
         final Random random = new Random();
         for (int j = 0; j < nIterations; j++) {
             // Get a random invalidation target
-            Integer targ = new Integer(random.nextInt(nObjects));
+            Integer targ = Integer.valueOf(random.nextInt(nObjects));
             while (targets.contains(targ)) {
-                targ = new Integer(random.nextInt(nObjects));
+                targ = Integer.valueOf(random.nextInt(nObjects));
             }
             targets.add(targ);
             // Launch nThreads threads all trying to invalidate the target
@@ -1733,7 +1725,7 @@ public class TestGenericKeyedObjectPool 
             exceptionOnPassivate = b;
         }
 
-        int counter = 0;
+        volatile int counter = 0;
         boolean valid;
 
         int activeCount = 0;
@@ -1742,7 +1734,7 @@ public class TestGenericKeyedObjectPool 
         boolean oddValid = true;
         boolean enableValidation = false;
         long destroyLatency = 0;
-        int maxTotalPerKey = Integer.MAX_VALUE;
+        volatile int maxTotalPerKey = Integer.MAX_VALUE;
         boolean exceptionOnPassivate = false;
         boolean exceptionOnActivate = false;
         boolean exceptionOnDestroy = false;



Re: svn commit: r1532083 - /commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java

Posted by Phil Steitz <ph...@gmail.com>.
On 10/14/13 1:42 PM, markt@apache.org wrote:
> Author: markt
> Date: Mon Oct 14 20:42:03 2013
> New Revision: 1532083
>
> URL: http://svn.apache.org/r1532083
> Log:
> Fix some FindBugs warnings
>
> Modified:
>     commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java
>
> Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java
> URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java?rev=1532083&r1=1532082&r2=1532083&view=diff
> ==============================================================================
> --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java (original)
> +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java Mon Oct 14 20:42:03 2013
> @@ -60,10 +60,10 @@ public class TestGenericKeyedObjectPool 
>      protected KeyedObjectPool<Object,Object> makeEmptyPool(int mincapacity) {
>  
>          KeyedPooledObjectFactory<Object,Object> factory =
> -                new KeyedPooledObjectFactory<Object,Object>()  {
> +                new BaseKeyedPooledObjectFactory<Object,Object>()  {

One day, if someone wants to do a public service and seize a great
opportunity to jump into [pool], s/he will fix the cheezy <Object,
Object> setup in these tests and actually generify the test
factories here. :)

Phil
>              ConcurrentHashMap<Object,AtomicInteger> map = new ConcurrentHashMap<Object,AtomicInteger>();
>              @Override
> -            public PooledObject<Object> makeObject(Object key) {
> +            public Object create(Object key) throws Exception {
>                  int counter = 0;
>                  AtomicInteger Counter = map.get(key);
>                  if(null != Counter) {
> @@ -72,16 +72,8 @@ public class TestGenericKeyedObjectPool 
>                      map.put(key, new AtomicInteger(0));
>                      counter = 0;
>                  }
> -                return new DefaultPooledObject<Object>(String.valueOf(key) + String.valueOf(counter));
> +                return String.valueOf(key) + String.valueOf(counter);
>              }
> -            @Override
> -            public void destroyObject(Object key, PooledObject<Object> obj) { }
> -            @Override
> -            public boolean validateObject(Object key, PooledObject<Object> obj) { return true; }
> -            @Override
> -            public void activateObject(Object key,PooledObject<Object> obj) { }
> -            @Override
> -            public void passivateObject(Object key, PooledObject<Object> obj) { }
>          };
>  
>          GenericKeyedObjectPool<Object,Object> pool =
> @@ -110,9 +102,9 @@ public class TestGenericKeyedObjectPool 
>  
>      private GenericKeyedObjectPool<String,String> pool = null;
>      private SimpleFactory<String> factory = null;
> -    private final Integer zero = new Integer(0);
> -    private final Integer one = new Integer(1);
> -    private final Integer two = new Integer(2);
> +    private static final Integer KEY_ZERO = Integer.valueOf(0);
> +    private static final Integer KEY_ONE = Integer.valueOf(1);
> +    private static final Integer KEY_TWO = Integer.valueOf(2);
>  
>      @Before
>      public void setUp() throws Exception {
> @@ -750,7 +742,7 @@ public class TestGenericKeyedObjectPool 
>          pool.setLifo(lifo);
>  
>          for (int i = 0; i < 3; i ++) {
> -            Integer key = new Integer(i);
> +            Integer key = Integer.valueOf(i);
>              for (int j = 0; j < 5; j++) {
>                  pool.addObject(key);
>              }
> @@ -768,41 +760,41 @@ public class TestGenericKeyedObjectPool 
>           */
>  
>          pool.evict(); // Kill (0,0),(0,1)
> -        assertEquals(3, pool.getNumIdle(zero));
> -        String objZeroA = pool.borrowObject(zero);
> +        assertEquals(3, pool.getNumIdle(KEY_ZERO));
> +        String objZeroA = pool.borrowObject(KEY_ZERO);
>          assertTrue(lifo ? objZeroA.equals("04") : objZeroA.equals("02"));
> -        assertEquals(2, pool.getNumIdle(zero));
> -        String objZeroB = pool.borrowObject(zero);
> +        assertEquals(2, pool.getNumIdle(KEY_ZERO));
> +        String objZeroB = pool.borrowObject(KEY_ZERO);
>          assertTrue(objZeroB.equals("03"));
> -        assertEquals(1, pool.getNumIdle(zero));
> +        assertEquals(1, pool.getNumIdle(KEY_ZERO));
>  
>          pool.evict(); // Kill remaining 0 survivor and (1,5)
> -        assertEquals(0, pool.getNumIdle(zero));
> -        assertEquals(4, pool.getNumIdle(one));
> -        String objOneA = pool.borrowObject(one);
> +        assertEquals(0, pool.getNumIdle(KEY_ZERO));
> +        assertEquals(4, pool.getNumIdle(KEY_ONE));
> +        String objOneA = pool.borrowObject(KEY_ONE);
>          assertTrue(lifo ? objOneA.equals("19") : objOneA.equals("16"));
> -        assertEquals(3, pool.getNumIdle(one));
> -        String objOneB = pool.borrowObject(one);
> +        assertEquals(3, pool.getNumIdle(KEY_ONE));
> +        String objOneB = pool.borrowObject(KEY_ONE);
>          assertTrue(lifo ? objOneB.equals("18") : objOneB.equals("17"));
> -        assertEquals(2, pool.getNumIdle(one));
> +        assertEquals(2, pool.getNumIdle(KEY_ONE));
>  
>          pool.evict(); // Kill remaining 1 survivors
> -        assertEquals(0, pool.getNumIdle(one));
> +        assertEquals(0, pool.getNumIdle(KEY_ONE));
>          pool.evict(); // Kill (2,10), (2,11)
> -        assertEquals(3, pool.getNumIdle(two));
> -        String objTwoA = pool.borrowObject(two);
> +        assertEquals(3, pool.getNumIdle(KEY_TWO));
> +        String objTwoA = pool.borrowObject(KEY_TWO);
>          assertTrue(lifo ? objTwoA.equals("214") : objTwoA.equals("212"));
> -        assertEquals(2, pool.getNumIdle(two));
> +        assertEquals(2, pool.getNumIdle(KEY_TWO));
>          pool.evict(); // All dead now
> -        assertEquals(0, pool.getNumIdle(two));
> +        assertEquals(0, pool.getNumIdle(KEY_TWO));
>  
>          pool.evict(); // Should do nothing - make sure no exception
>          // Currently 2 zero, 2 one and 1 two active. Return them
> -        pool.returnObject(zero, objZeroA);
> -        pool.returnObject(zero, objZeroB);
> -        pool.returnObject(one, objOneA);
> -        pool.returnObject(one, objOneB);
> -        pool.returnObject(two, objTwoA);
> +        pool.returnObject(KEY_ZERO, objZeroA);
> +        pool.returnObject(KEY_ZERO, objZeroB);
> +        pool.returnObject(KEY_ONE, objOneA);
> +        pool.returnObject(KEY_ONE, objOneB);
> +        pool.returnObject(KEY_TWO, objTwoA);
>          // Remove all idle objects
>          pool.clear();
>  
> @@ -810,7 +802,7 @@ public class TestGenericKeyedObjectPool 
>          pool.setMinEvictableIdleTimeMillis(500);
>          factory.counter = 0; // Reset counter
>          for (int i = 0; i < 3; i ++) {
> -            Integer key = new Integer(i);
> +            Integer key = Integer.valueOf(i);
>              for (int j = 0; j < 5; j++) {
>                  pool.addObject(key);
>              }
> @@ -819,33 +811,33 @@ public class TestGenericKeyedObjectPool 
>  
>          // 0's are evictable, others not
>          pool.evict(); // Kill (0,0),(0,1)
> -        assertEquals(3, pool.getNumIdle(zero));
> +        assertEquals(3, pool.getNumIdle(KEY_ZERO));
>          pool.evict(); // Kill (0,2),(0,3)
> -        assertEquals(1, pool.getNumIdle(zero));
> +        assertEquals(1, pool.getNumIdle(KEY_ZERO));
>          pool.evict(); // Kill (0,4), leave (1,5)
> -        assertEquals(0, pool.getNumIdle(zero));
> -        assertEquals(5, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> +        assertEquals(0, pool.getNumIdle(KEY_ZERO));
> +        assertEquals(5, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
>          pool.evict(); // (1,6), (1,7)
> -        assertEquals(5, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> +        assertEquals(5, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
>          pool.evict(); // (1,8), (1,9)
> -        assertEquals(5, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> +        assertEquals(5, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
>          pool.evict(); // (2,10), (2,11)
> -        assertEquals(5, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> +        assertEquals(5, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
>          pool.evict(); // (2,12), (2,13)
> -        assertEquals(5, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> +        assertEquals(5, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
>          pool.evict(); // (2,14), (1,5)
> -        assertEquals(5, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> +        assertEquals(5, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
>          Thread.sleep(200); // Ones now timed out
>          pool.evict(); // kill (1,6), (1,7) - (1,5) missed
> -        assertEquals(3, pool.getNumIdle(one));
> -        assertEquals(5, pool.getNumIdle(two));
> -        String obj = pool.borrowObject(one);
> +        assertEquals(3, pool.getNumIdle(KEY_ONE));
> +        assertEquals(5, pool.getNumIdle(KEY_TWO));
> +        String obj = pool.borrowObject(KEY_ONE);
>          if (lifo) {
>              assertEquals("19", obj);
>          } else {
> @@ -877,22 +869,22 @@ public class TestGenericKeyedObjectPool 
>          pool.setTestOnBorrow(false);
>          for (int i = 0; i < 3; i ++) {
>              factory.resetId();
> -            Integer key = new Integer(i);
> +            Integer key = Integer.valueOf(i);
>              for (int j = 0; j < 8; j++) {
>                  pool.addObject(key);
>              }
>          }
>          pool.evict(); // Visit oldest 2 - 00 and 01
> -        VisitTracker<Integer> obj = pool.borrowObject(zero);
> -        pool.returnObject(zero, obj);
> -        obj = pool.borrowObject(zero);
> -        pool.returnObject(zero, obj);
> +        VisitTracker<Integer> obj = pool.borrowObject(KEY_ZERO);
> +        pool.returnObject(KEY_ZERO, obj);
> +        obj = pool.borrowObject(KEY_ZERO);
> +        pool.returnObject(KEY_ZERO, obj);
>          //  borrow, return, borrow, return
>          //  FIFO will move 0 and 1 to end - 2,3,4,5,6,7,0,1
>          //  LIFO, 7 out, then in, then out, then in - 7,6,5,4,3,2,1,0
>          pool.evict();  // Should visit 02 and 03 in either case
>          for (int i = 0; i < 8; i++) {
> -            VisitTracker<Integer> tracker = pool.borrowObject(zero);
> +            VisitTracker<Integer> tracker = pool.borrowObject(KEY_ZERO);
>              if (tracker.getId() >= 4) {
>                  assertEquals("Unexpected instance visited " + tracker.getId(),
>                          0, tracker.getValidateCount());
> @@ -909,12 +901,12 @@ public class TestGenericKeyedObjectPool 
>          pool.evict(); // 10, 11, 12
>          pool.evict(); // 13, 14, 15
>  
> -        obj = pool.borrowObject(one);
> -        pool.returnObject(one, obj);
> -        obj = pool.borrowObject(one);
> -        pool.returnObject(one, obj);
> -        obj = pool.borrowObject(one);
> -        pool.returnObject(one, obj);
> +        obj = pool.borrowObject(KEY_ONE);
> +        pool.returnObject(KEY_ONE, obj);
> +        obj = pool.borrowObject(KEY_ONE);
> +        pool.returnObject(KEY_ONE, obj);
> +        obj = pool.borrowObject(KEY_ONE);
> +        pool.returnObject(KEY_ONE, obj);
>          // borrow, return, borrow, return
>          //  FIFO 3,4,5,^,6,7,0,1,2
>          //  LIFO 7,6,^,5,4,3,2,1,0
> @@ -932,7 +924,7 @@ public class TestGenericKeyedObjectPool 
>          // LIFO - 27, 10, 11
>          // FIFO - 24, 25, 26
>          for (int i = 0; i < 8; i++) {
> -            VisitTracker<Integer> tracker = pool.borrowObject(one);
> +            VisitTracker<Integer> tracker = pool.borrowObject(KEY_ONE);
>              if ((lifo && tracker.getId() > 1) ||
>                      (!lifo && tracker.getId() > 2)) {
>                  assertEquals("Instance " +  tracker.getId() +
> @@ -968,15 +960,15 @@ public class TestGenericKeyedObjectPool 
>  
>                  int zeroLength = 10 + random.nextInt(20);
>                  for (int k = 0; k < zeroLength; k++) {
> -                    pool.addObject(zero);
> +                    pool.addObject(KEY_ZERO);
>                  }
>                  int oneLength = 10 + random.nextInt(20);
>                  for (int k = 0; k < oneLength; k++) {
> -                    pool.addObject(one);
> +                    pool.addObject(KEY_ONE);
>                  }
>                  int twoLength = 10 + random.nextInt(20);
>                  for (int k = 0; k < twoLength; k++) {
> -                    pool.addObject(two);
> +                    pool.addObject(KEY_TWO);
>                  }
>  
>                  // Choose a random number of evictor runs
> @@ -997,7 +989,7 @@ public class TestGenericKeyedObjectPool 
>                  VisitTracker<Integer> tracker = null;
>                  int visitCount = 0;
>                  for (int k = 0; k < zeroLength; k++) {
> -                    tracker = pool.borrowObject(zero);
> +                    tracker = pool.borrowObject(KEY_ZERO);
>                      visitCount = tracker.getValidateCount();
>                      if (visitCount < cycleCount || visitCount > cycleCount + 1){
>                          fail(formatSettings("ZERO", "runs", runs, "lifo", lifo, "i", i, "j", j,
> @@ -1006,7 +998,7 @@ public class TestGenericKeyedObjectPool 
>                      }
>                  }
>                  for (int k = 0; k < oneLength; k++) {
> -                    tracker = pool.borrowObject(one);
> +                    tracker = pool.borrowObject(KEY_ONE);
>                      visitCount = tracker.getValidateCount();
>                      if (visitCount < cycleCount || visitCount > cycleCount + 1){
>                          fail(formatSettings("ONE", "runs", runs, "lifo", lifo, "i", i, "j", j,
> @@ -1016,7 +1008,7 @@ public class TestGenericKeyedObjectPool 
>                  }
>                  int visits[] = new int[twoLength];
>                  for (int k = 0; k < twoLength; k++) {
> -                    tracker = pool.borrowObject(two);
> +                    tracker = pool.borrowObject(KEY_TWO);
>                      visitCount = tracker.getValidateCount();
>                      visits[k] = visitCount;
>                      if (visitCount < cycleCount || visitCount > cycleCount + 1){
> @@ -1460,9 +1452,9 @@ public class TestGenericKeyedObjectPool 
>          final Random random = new Random();
>          for (int j = 0; j < nIterations; j++) {
>              // Get a random invalidation target
> -            Integer targ = new Integer(random.nextInt(nObjects));
> +            Integer targ = Integer.valueOf(random.nextInt(nObjects));
>              while (targets.contains(targ)) {
> -                targ = new Integer(random.nextInt(nObjects));
> +                targ = Integer.valueOf(random.nextInt(nObjects));
>              }
>              targets.add(targ);
>              // Launch nThreads threads all trying to invalidate the target
> @@ -1733,7 +1725,7 @@ public class TestGenericKeyedObjectPool 
>              exceptionOnPassivate = b;
>          }
>  
> -        int counter = 0;
> +        volatile int counter = 0;
>          boolean valid;
>  
>          int activeCount = 0;
> @@ -1742,7 +1734,7 @@ public class TestGenericKeyedObjectPool 
>          boolean oddValid = true;
>          boolean enableValidation = false;
>          long destroyLatency = 0;
> -        int maxTotalPerKey = Integer.MAX_VALUE;
> +        volatile int maxTotalPerKey = Integer.MAX_VALUE;
>          boolean exceptionOnPassivate = false;
>          boolean exceptionOnActivate = false;
>          boolean exceptionOnDestroy = false;
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org