Changes Report

Release History

Version Date Description
1.3 TBD This release will include new features as well as bug fixes and instrumentation. Some bug fixes will change semantics (e.g. connection close will become idempotent). The minimum JDK level will be increased to 1.4
1.2.2 2007-04-04 This is a maintenance release containing bug fixes and enhancements. All API changes are binary compatible with version 1.2.1.
1.2.1 2004-06-12 Maintenance Release to restore JDK 1.3 compatibility
1.2 2004-06-07
1.1 2003-10-20
1.0 2002-08-12 Initial Release


Release 1.3 - TBD

Type Changes By
fix Corrected Javadoc to state that getLoginTimeout and setLoginTimeout are NOT supported by BasicDataSource. Fixes DBCP-218 . bayard
add Added Maven 2 pom.xml. Removed a block of code from Tes tJOCLed that set the Xerces parser manually. This was to support early JDKs. The 1.3 version of DBCP requires JDK 1.4+. Fixes DBCP-211 . bayard
add Added support for pooling managed connections. Fixes DBCP-228 . Thanks to Dain Sundstrom. psteitz
add Added BasicManagedDataSource, extending BasicDataSource. Also improved extensibility of BasicDataSource by encapsulating methods to create object pool, connection factory and datasource instance previously embedded in createDataSource. Fixes DBCP-230 . Thanks to Dain Sundstrom. psteitz
fix Changed behavior to allow Connection, Statement, PreparedStatement, CallableStatement and ResultSet to be closed multiple times. The first time close is called the resource is closed and any subsequent calls have no effect. This behavior is required as per the JavaDocs for these classes. Also added tests for closing all types multiple times and updated any tests that incorrectly assert that a resource can not be closed more then once. Fixes DBCP-3, DBCP-5, DBCP-23 and DBCP-134. Fixes DBCP-233 . Thanks to Dain Sundstrom. psteitz
fix Modified PoolingDataSource, PoolingDriver and DelegatingStatement to assure that all returned Statements, PreparedStatements, CallableStatements and ResultSets are wrapped with a delegating object, which already properly handle the back pointers for Connection and Statement. Also added tests to to assure that the *same* object used to create the statement or result set is returned from either getConnection() or getStatement(). Fixes DBCP-11 . Thanks to Dain Sundstrom. psteitz
update SQLNestedException has been deprecated and will be replaced in DBCP 1.4 with SQLE xception and standard Java exception chaining. Fixes DBCP-143 . dain
fix BasicDataSource.close() now permanently marks the data source as closed, and no new connections can be obtained from the data source. At close all idle connections are destroyed and the method returns. As the remaining active connections are closed, they are destroyed. Fixes DBCP-221 . dain
fix Eliminated potential sources of NullPointerExceptions in PoolingConnection. Fixes DBCP-241 . psteitz
fix Improved error recovery and listener cleanup in KeyedCPDSConnectionFactory. Substituted calls to destroyObject with _pool.invalidateObject on error to ensure pool active count is decremented on error events. Ensured that events from closed or invalid connections are ignored and listeners are cleaned up. Removed calls to removeConnectionEventListener from connection event handlers to eliminate potential for ConcurrentModificationExceptions. Fixes DBCP-216 . Thanks to Marcos Sanz. psteitz
fix Fixed error in SharedPoolDataSource causing incorrect passwords to be stored under certain conditions. Fixes DBCP-245 . Thanks to Michael Drechsel. psteitz
fix Added exception handler to ensure that PooledConnections are not orphaned when an exception occurs in setUpDefaults or clearWarnings in IntanceKeyDataSource.getConnection. Fixes DBCP-237 . Thanks to Oliver Matz. psteitz

Release 1.2.2 - 2007-04-04

Type Changes By
add to the User Guide. dirkv
fix DriverManagerConnectionFactory: blank username/password handling. Fixes DBCP-108 . Thanks to Maxwell Grender-Jones. dirkv
fix Broken behaviour for BasicDataSource.setMaxActive(0). Fixes DBCP-113 . Thanks to Rohan Lenard. dirkv
fix BasicDataSource does not work with getConnection(String, String). Fixes DBCP-36 . Thanks to Jonathan Whitall. dirkv
update Enhancements to prepared statement in DriverAdapterCPDS. Fixes DBCP-164 . Thanks to Todd Carmichael. dirkv
update Better messages and docs for LoginTimeout UnsupportedOperationException. Fixes DBCP-186 . Thanks to Ralf Hauser. yoavs
fix Error in JOCL snippet in org.apache.commons.dbcp package javadoc. Fixes DBCP-50 . Thanks to Nicky Nicolson. yoavs
update Added toString() methods to DelegatingPreparedStatement and DelegatingStatement Fixes DBCP-165 . Thanks to QM. yoavs
fix Changes to make DBCP compile on JDK 1.5 by adding source="1.4" to compiler arguments (there are compiler errors in JDK 5.0 without this source switch that cannot be fixed without JDK 5.0-specific syntax). yoavs
fix Per-user pooling with Oracle driver and default isolation settings. Fixes DBCP-20 . Thanks to Chris Nappin. dirkv
fix Error in JOCL document in javadoc. Fixes DBCP-9 . Thanks to Adrian Baker. dirkv
update Added toString() method to DelegatingConnection. sullis
update Add DriverManager.invalidateConnection(). Fixes DBCP-181 . Thanks to Meikel Bisping. dirkv
fix Improved Exception nesting in ConnectionPool. Fixes DBCP-184 . Thanks to Meikel Bisping. dirkv
fix Fix broken website links for examples. Fixes DBCP-144 . Thanks to Sebb. dennisl
fix Modified PoolableConnection close method to invalidate instance when invoked on an already closed connection. Fixes DBCP-28 . Thanks to Huw Lewis, James Ring. psteitz
fix Inserted null checks to avoid NPE in close operations. Fixes DBCP-81 . joehni
fix Changed getReference method in InstanceKeyDataSource to return a concrete factory and added implementations of getReference in concrete subclasses. Fixes DBCP-105 . Thanks to Sandy McArthur, Thomas Fischer. psteitz
fix Inserted null check in close method of SharedPoolDataSource to avoid NPE when invoked on non-initialized pool. Fixes DBCP-39 . Thanks to Jindrich Vimr. psteitz
fix Document fact that true values for testOnBorrow, testOnReturn, testWhileIdle only have effect when validationQuery is set to a non-null string. Fixes DBCP-71 . Thanks to Douglas Squirrel. psteitz
fix Modified activateObject in PoolableConnection to test connection properties before resetting to defaults. Fixes DBCP-102 . psteitz
fix Corrected maxActive documentation in configuration.html. Fixes DBCP-188 . sandymac
update Upgraded dependency to Pool 1.3. psteitz
update Added connection info to SQLException messages when closed connections (resp stmts) are accessed in Delegating Connection, DelegatingStatement. Fixes DBCP-187 . Thanks to Ralf Hauser. psteitz
fix Fixed errors in pool parameter documentation and made 0 value for _maxPreparedStatements in DriverAdapterCPDS behave like a negative value, to be consistent with documentation and pool behavior. Fixes DBCP-41 . Thanks to Anton Tagunov. psteitz
fix Made userKeys an instance variable (i.e., not static) in SharedPoolDataSource. Fixes DBCP-100 . psteitz
fix Changed implementation of equals in PoolingDataSource.PoolGuardConnectionWrapper to ensure it is reflexive, even when wrapped connections are not DelegatingConnections. Fixes DBCP-198 . psteitz
update Added rollbackAfterValidation property and code to issue a rollback on a connection after validation when this property is set to true to eliminate Oracle driver exceptions. Default property value is false. Fixes DBCP-116 . Thanks to Thomas Fischer. psteitz
update Removed dependency on Commons Collections by adding collections 2.1 sources for LRUMap and SequencedHashMap with package scope to datasources package. Fixes DBCP-68 . psteitz
fix Removed synchronization from prepareStatement methods in PoolingConnection. Synchronization in these methods was causing deadlocks. No resources other than the prepared statement pool are accessed by these methods, and the pool methods are synchronized. Also fixes DBCP-202. Fixes DBCP-65 . psteitz

Release 1.2.1 - 2004-06-12

Type Changes By
fix for details.

Release 1.2 - 2004-06-07

Type Changes By
update for details.

Release 1.1 - 2003-10-20

Type Changes By
update for details.

Release 1.0 - 2002-08-12

Type Changes By
add Initial Release