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} < 2</li>
- * <li>{@link #getNumActive() numActive} > {@link #getMaxActive()
maxActive} - 3</li>
+ * <li>{@link #getCreateCount() numActive} > {@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(