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