Author: psteitz
Date: Mon Jun  6 07:27:15 2011
New Revision: 1132536

URL: http://svn.apache.org/viewvc?rev=1132536&view=rev
Log:
Fixed and restored test.  Test object class was not threadsafe.

Modified:
    
commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp2/TestAbandonedObjectPool.java

Modified: 
commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp2/TestAbandonedObjectPool.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp2/TestAbandonedObjectPool.java?rev=1132536&r1=1132535&r2=1132536&view=diff
==============================================================================
--- 
commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp2/TestAbandonedObjectPool.java
 (original)
+++ 
commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp2/TestAbandonedObjectPool.java
 Mon Jun  6 07:27:15 2011
@@ -18,6 +18,7 @@
 package org.apache.commons.dbcp2;
 
 import java.util.Vector;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import junit.framework.Test;
 import junit.framework.TestCase;
@@ -70,7 +71,6 @@ public class TestAbandonedObjectPool ext
     * 
     */
     public void testConcurrentInvalidation() throws Exception {
-        /** FIXME: re-enable when associated pool problem is resolved *****
         final int POOL_SIZE = 30;
         pool.setMaxActive(POOL_SIZE);
         pool.setMaxIdle(POOL_SIZE);
@@ -109,8 +109,7 @@ public class TestAbandonedObjectPool ext
         }
         
         // Now, the number of open connections should be 0
-        assertTrue("numActive should have been 0, was " + pool.getNumActive(), 
pool.getNumActive() == 0);
-        */
+        assertTrue("numActive should have been 0, was " + pool.getNumIdle(), 
pool.getNumActive() == 0);
     }
     
     class ConcurrentBorrower extends Thread {
@@ -164,12 +163,11 @@ class PooledTestObject extends Abandoned
     private boolean active = false;
     private int _hash = 0;
     private boolean _abandoned = false;
-
-    private static int hash = 1;
+    private static AtomicInteger hash = new AtomicInteger();
     
     public PooledTestObject(AbandonedConfig config) {
         super(config);
-        _hash = hash++;
+        _hash = hash.incrementAndGet();
     }
     
     public synchronized void setActive(boolean b) {


Reply via email to