Author: markt Date: Fri Aug 7 11:01:18 2015 New Revision: 1694658 URL: http://svn.apache.org/r1694658 Log: Update to DBCP 2.1.1 release
Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/ (props changed) tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSourceFactory.java tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/DelegatingConnection.java tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/cpdsadapter/PooledConnectionImpl.java tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/CPDSConnectionFactory.java tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/KeyedCPDSConnectionFactory.java Propchange: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Aug 7 11:01:18 2015 @@ -1 +1 @@ -/commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2:1593516-1682314 +/commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2:1593516-1694605 Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java?rev=1694658&r1=1694657&r2=1694658&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java Fri Aug 7 11:01:18 2015 @@ -1336,7 +1336,7 @@ public class BasicDataSource implements /** * Returns the value of the flag that controls whether or not connections - * being returned to the pool will checked and configured with + * being returned to the pool will be checked and configured with * {@link Connection#setAutoCommit(boolean) Connection.setAutoCommit(true)} * if the auto commit setting is {@code false} when the connection * is returned. It is <code>true</code> by default. @@ -1347,7 +1347,7 @@ public class BasicDataSource implements /** * Sets the value of the flag that controls whether or not connections - * being returned to the pool will checked and configured with + * being returned to the pool will be checked and configured with * {@link Connection#setAutoCommit(boolean) Connection.setAutoCommit(true)} * if the auto commit setting is {@code false} when the connection * is returned. It is <code>true</code> by default. Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSourceFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSourceFactory.java?rev=1694658&r1=1694657&r2=1694658&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSourceFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSourceFactory.java Fri Aug 7 11:01:18 2015 @@ -100,6 +100,7 @@ public class BasicDataSourceFactory impl private static final String PROP_REMOVEABANDONEDONMAINTENANCE = "removeAbandonedOnMaintenance"; private static final String PROP_REMOVEABANDONEDTIMEOUT = "removeAbandonedTimeout"; private static final String PROP_LOGABANDONED = "logAbandoned"; + private static final String PROP_ABANDONEDUSAGETRACKING = "abandonedUsageTracking"; private static final String PROP_POOLPREPAREDSTATEMENTS = "poolPreparedStatements"; private static final String PROP_MAXOPENPREPAREDSTATEMENTS = "maxOpenPreparedStatements"; private static final String PROP_CONNECTIONPROPERTIES = "connectionProperties"; @@ -166,6 +167,7 @@ public class BasicDataSourceFactory impl PROP_REMOVEABANDONEDONMAINTENANCE, PROP_REMOVEABANDONEDTIMEOUT, PROP_LOGABANDONED, + PROP_ABANDONEDUSAGETRACKING, PROP_POOLPREPAREDSTATEMENTS, PROP_MAXOPENPREPAREDSTATEMENTS, PROP_CONNECTIONPROPERTIES, @@ -515,6 +517,11 @@ public class BasicDataSourceFactory impl if (value != null) { dataSource.setLogAbandoned(Boolean.valueOf(value).booleanValue()); } + + value = properties.getProperty(PROP_ABANDONEDUSAGETRACKING); + if (value != null) { + dataSource.setAbandonedUsageTracking(Boolean.valueOf(value).booleanValue()); + } value = properties.getProperty(PROP_POOLPREPAREDSTATEMENTS); if (value != null) { Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/DelegatingConnection.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/DelegatingConnection.java?rev=1694658&r1=1694657&r2=1694658&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/DelegatingConnection.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/DelegatingConnection.java Fri Aug 7 11:01:18 2015 @@ -230,9 +230,13 @@ public class DelegatingConnection<C exte try { passivate(); } finally { - try { - _conn.close(); - } finally { + if (_conn != null) { + try { + _conn.close(); + } finally { + _closed = true; + } + } else { _closed = true; } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/cpdsadapter/PooledConnectionImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/cpdsadapter/PooledConnectionImpl.java?rev=1694658&r1=1694657&r2=1694658&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/cpdsadapter/PooledConnectionImpl.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/cpdsadapter/PooledConnectionImpl.java Fri Aug 7 11:01:18 2015 @@ -179,7 +179,7 @@ class PooledConnectionImpl implements Po if (logicalConnection != null && !logicalConnection.isClosed()) { // should notify pool of error so the pooled connection can // be removed !FIXME! - throw new SQLException("PooledConnection was reused, without" + throw new SQLException("PooledConnection was reused, without " + "its previous Connection being closed."); } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/CPDSConnectionFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/CPDSConnectionFactory.java?rev=1694658&r1=1694657&r2=1694658&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/CPDSConnectionFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/CPDSConnectionFactory.java Fri Aug 7 11:01:18 2015 @@ -171,18 +171,23 @@ class CPDSConnectionFactory } boolean valid = false; PooledConnection pconn = p.getObject().getPooledConnection(); + Connection conn = null; + validatingSet.add(pconn); if (null == _validationQuery) { int timeout = _validationQueryTimeout; if (timeout < 0) { timeout = 0; } try { - valid = pconn.getConnection().isValid(timeout); + conn = pconn.getConnection(); + valid = conn.isValid(timeout); } catch (SQLException e) { valid = false; + } finally { + Utils.closeQuietly(conn); + validatingSet.remove(pconn); } } else { - Connection conn = null; Statement stmt = null; ResultSet rset = null; // logical Connection from the PooledConnection must be closed Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/KeyedCPDSConnectionFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/KeyedCPDSConnectionFactory.java?rev=1694658&r1=1694657&r2=1694658&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/KeyedCPDSConnectionFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/dbcp2/datasources/KeyedCPDSConnectionFactory.java Fri Aug 7 11:01:18 2015 @@ -171,18 +171,23 @@ class KeyedCPDSConnectionFactory } boolean valid = false; PooledConnection pconn = p.getObject().getPooledConnection(); + Connection conn = null; + validatingSet.add(pconn); if (null == _validationQuery) { int timeout = _validationQueryTimeout; if (timeout < 0) { timeout = 0; } try { - valid = pconn.getConnection().isValid(timeout); + conn = pconn.getConnection(); + valid = conn.isValid(timeout); } catch (SQLException e) { valid = false; + } finally { + Utils.closeQuietly(conn); + validatingSet.remove(pconn); } } else { - Connection conn = null; Statement stmt = null; ResultSet rset = null; // logical Connection from the PooledConnection must be closed --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org