Author: markt
Date: Tue May 17 20:55:14 2011
New Revision: 1104556

URL: http://svn.apache.org/viewvc?rev=1104556&view=rev
Log:
DBCP changes necessary since pool no longer supports WhenExhaustedAction.GROW

Modified:
    
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/AbandonedConfig.java
    
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
    
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/InstanceKeyDataSource.java
    
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
    
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java

Modified: 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/AbandonedConfig.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/AbandonedConfig.java?rev=1104556&r1=1104555&r2=1104556&view=diff
==============================================================================
--- 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/AbandonedConfig.java
 (original)
+++ 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/AbandonedConfig.java
 Tue May 17 20:55:14 2011
@@ -81,7 +81,7 @@ public class AbandonedConfig {
      * <code><ul>
      * <li><code>{@link #getRemoveAbandoned() removeAbandoned} == true</li>
      * <li>{@link #getNumIdle() numIdle} &lt; 2</li>
-     * <li>{@link #getNumActive() numActive} &gt; {@link #getMaxActive() 
maxActive} - 3</li>
+     * <li>{@link #getCreateCount() numActive} &gt; {@link #getMaxActive() 
maxActive} - 3</li>
      * </ul></code></p>
      * 
      * <p>The default value is 300 seconds.</p>

Modified: 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java?rev=1104556&r1=1104555&r2=1104556&view=diff
==============================================================================
--- 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
 (original)
+++ 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
 Tue May 17 20:55:14 2011
@@ -177,7 +177,7 @@ public class DriverAdapterCPDS
                 // since there is no limit, create a prepared statement pool 
with an eviction thread
                 //  evictor settings are the same as the connection pool 
settings.
                 stmtPool = new GenericKeyedObjectPool(null,
-                    getMaxActive(), WhenExhaustedAction.GROW, 0,
+                    Integer.MAX_VALUE, WhenExhaustedAction.FAIL, 0,
                     getMaxIdle(), false, false,
                     
getTimeBetweenEvictionRunsMillis(),getNumTestsPerEvictionRun(),getMinEvictableIdleTimeMillis(),
                     false);
@@ -188,7 +188,7 @@ public class DriverAdapterCPDS
                 //  pool has LRU functionality so when the limit is reached, 
15% of the pool is cleared.
                 // see 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.clearOldest method
                 stmtPool = new GenericKeyedObjectPool(null,
-                    getMaxActive(), WhenExhaustedAction.GROW, 0,
+                    Integer.MAX_VALUE, WhenExhaustedAction.FAIL, 0,
                     getMaxIdle(), getMaxPreparedStatements(), false, false,
                     -1,0,0, // -1 tells the pool that there should be no 
eviction thread.
                     false);

Modified: 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/InstanceKeyDataSource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/InstanceKeyDataSource.java?rev=1104556&r1=1104555&r2=1104556&view=diff
==============================================================================
--- 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/InstanceKeyDataSource.java
 (original)
+++ 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/InstanceKeyDataSource.java
 Tue May 17 20:55:14 2011
@@ -861,17 +861,6 @@ public abstract class InstanceKeyDataSou
         return cpds;
     }
 
-    protected WhenExhaustedAction whenExhaustedAction(int maxActive,
-            int maxWait) {
-        WhenExhaustedAction whenExhausted = WhenExhaustedAction.BLOCK;
-        if (maxActive <= 0) {
-            whenExhausted = WhenExhaustedAction.GROW;
-        } else if (maxWait == 0) {
-            whenExhausted = WhenExhaustedAction.FAIL;
-        }
-        return whenExhausted;
-    }    
-
     // ----------------------------------------------------------------------
     // Referenceable implementation 
 

Modified: 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java?rev=1104556&r1=1104555&r2=1104556&view=diff
==============================================================================
--- 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
 (original)
+++ 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
 Tue May 17 20:55:14 2011
@@ -33,6 +33,7 @@ import javax.sql.ConnectionPoolDataSourc
 
 import org.apache.commons.pool2.ObjectPool;
 import org.apache.commons.pool2.impl.GenericObjectPool;
+import org.apache.commons.pool2.impl.WhenExhaustedAction;
 
 /**
  * <p>A pooling <code>DataSource</code> appropriate for deployment within
@@ -509,7 +510,14 @@ public class PerUserPoolDataSource
         pool.setMaxActive(maxActive);
         pool.setMaxIdle(maxIdle);
         pool.setMaxWait(maxWait);
-        pool.setWhenExhaustedAction(whenExhaustedAction(maxActive, maxWait));
+        if (maxActive <= 0) {
+            pool.setWhenExhaustedAction(WhenExhaustedAction.FAIL);
+            pool.setMaxActive(Integer.MAX_VALUE);
+        }
+        if (maxWait == 0) {
+            pool.setWhenExhaustedAction(WhenExhaustedAction.FAIL);
+        }
+
         pool.setTestOnBorrow(getTestOnBorrow());
         pool.setTestOnReturn(getTestOnReturn());
         pool.setTimeBetweenEvictionRunsMillis(

Modified: 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java?rev=1104556&r1=1104555&r2=1104556&view=diff
==============================================================================
--- 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java
 (original)
+++ 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java
 Tue May 17 20:55:14 2011
@@ -30,6 +30,7 @@ import javax.sql.ConnectionPoolDataSourc
 import org.apache.commons.pool2.KeyedObjectPool;
 import org.apache.commons.pool2.impl.GenericKeyedObjectPool;
 import org.apache.commons.pool2.impl.GenericObjectPool;
+import org.apache.commons.pool2.impl.WhenExhaustedAction;
 
 /**
  * <p>A pooling <code>DataSource</code> appropriate for deployment within
@@ -217,7 +218,14 @@ public class SharedPoolDataSource
         tmpPool.setMaxActive(getMaxActive());
         tmpPool.setMaxIdle(getMaxIdle());
         tmpPool.setMaxWait(getMaxWait());
-        tmpPool.setWhenExhaustedAction(whenExhaustedAction(maxActive, 
maxWait));
+        tmpPool.setWhenExhaustedAction(WhenExhaustedAction.BLOCK);
+        if (maxActive <= 0) {
+            tmpPool.setWhenExhaustedAction(WhenExhaustedAction.FAIL);
+            tmpPool.setMaxActive(Integer.MAX_VALUE);
+        }
+        if (maxWait == 0) {
+            tmpPool.setWhenExhaustedAction(WhenExhaustedAction.FAIL);
+        }
         tmpPool.setTestOnBorrow(getTestOnBorrow());
         tmpPool.setTestOnReturn(getTestOnReturn());
         tmpPool.setTimeBetweenEvictionRunsMillis(


Reply via email to