| Version |
Date |
Description |
| 1.4.1 |
TBD |
TBD |
| 1.4 |
2010-02-14 |
This release includes new features as well as bug fixes and enhancements. Some bug fixes change semantics (e.g. connection close is now idempotent). The 1.3 and 1.4 releases of DBCP are built from the same sources. Version 1.4 supports JDBC 4, so requires JDK 1.6. Applications running under JDK 1.4-1.5 must use DBCP 1.3. Applications running under JDK 1.6 should use DBCP 1.4. Other than support for the added methods in JDBC 4, there is nothing new or different in DBCP 1.4 vs. DBCP 1.3. The list of changes below since 1.2.2 applies to both the 1.3 and 1.4 release. Other than the one issue related to adding JDBC 4 support (DBCP-191), all bug fixes or new features are included in both DBCP 1.3 and 1.4 |
| 1.3 |
2010-02-14 |
Compatability release for JDBC 3. See version 1.4 description and change log. |
| 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 |
| Type |
Changes |
By |
 |
Eliminated poolKeys cache from PerUserPoolDataSource. Fixes DBCP-320. |
psteitz |
 |
Eliminated userKeys LRUMap cache from SharedPoolDataSource. Fixes DBCP-321. |
sebb |
 |
Made private fields final where possible. Fixes DBCP-319. Thanks to Sebastian Bazley. |
psteitz |
 |
PerUserPoolDataSource.getPooledConnectionAndInfo multi-threading bug. Fixes DBCP-318. Thanks to Sebastian Bazley. |
sebb |
 |
Remove throws clause from method that does not throw an exception. Fixes DBCP-315. Thanks to Sebastian Bazley. |
sebb |
 |
Remove code that catches and ignores Exceptions when calling
PooledConnection.removeConnectionEventListener(ConnectionEventListener)
as the method does not throw any Exceptions. Fixes DBCP-313. Thanks to Sebastian Bazley. |
sebb |
 |
Remove impossible null check. Fixes DBCP-316. Thanks to Sebastian Bazley. |
sebb |
 |
Renamed variables with duplicate names in different scopes. Fixes DBCP-314. Thanks to Sebastian Bazley. |
sebb |
 |
Clarified javadoc for BasicDataSource close() method. Fixes DBCP-312. Thanks to Glen Mazza. |
psteitz |
 |
Made PoolingConnection pool CallableStatements. When BasicDataSource's
poolPreparedStatements property is true, CallableStatements are now
pooled along with PreparedStatements. The maxOpenPreparedStatements
property limits the combined number of Callable and Prepared statements
that can be in use at a given time. Fixes DBCP-204. Thanks to Wei Chen. |
psteitz |
 |
Use an API specific exception for logging abandoned objects to make
scanning the logs for these exceptions simpler and to provide a better
message that includes the creation time of the abandoned object. Fixes DBCP-305. Thanks to Christopher Schultz. |
markt |
 |
Ensure Statement.getGeneratedKeys() works correctly with the CPDS
adapter. Fixes DBCP-303. Thanks to Dave Oxley. |
markt |
 |
Removed incorrectly advertised ClassNotFoundException from
JOCLContentHandler.ConstructorDetails.createObject(). Fixes DBCP-302. Thanks to Sebastian Bazley. |
psteitz |
 |
Make the class loader used to load the JDBC driver configurable for the
BasicDatasource. Fixes DBCP-203. Thanks to Mark Grand. |
markt |
 |
Handle user password changes for InstanceKeyDataSources. Fixes DBCP-8. |
markt |
 |
Made XADataSource configurable in BasicManagedDataSource. Fixes DBCP-289. Thanks to Marc Kannegießer. |
psteitz |
 |
Added PoolableManagedConnection and PoolableManagedConnectionFactory so that
pooled managed connections can unregister themselves from transaction registries,
avoiding resource leaks. Fixes DBCP-294. Thanks to Philippe Mouawad. |
psteitz |
 |
Added connectionProperties property to DriverAdapterCPDS. Fixes DBCP-276. |
psteitz |
 |
Added a validationQueryTimeout configuration parameter to BasicDataSource
allowing the user to specify a timeout value (in seconds) for connection
validation queries. Fixes DBCP-226. |
psteitz |
 |
Added a connectionInitSqls configuration parameter to BasicDataSource
allowing the user to specify a collection of SQL statements to execute
one time when a physical database connection is first opened. Fixes DBCP-175. Thanks to Jiri Melichna and Jerome Lacoste. |
psteitz |
 |
PoolableConnectionFactory.makeObject() is no longer synchronized. This
provides improved response times when load spikes at the cost of a
faster rise in database server load. This change was made as a partial
fix for DBCP-212. The synchronization changes in Commons Pool 1.5 complete
the fix for this issue. Fixes DBCP-212. |
markt |
 |
Reverted DelegatingConnection close to 1.2.2 version to ensure
open statements are closed before the underlying connection is closed. Fixes DBCP-242. |
psteitz |
 |
Refactor DelegatingConnection and ManagedConnection enable overridden
equals() and hashcode() to work correctly. Fixes DBCP-235. |
markt |
 |
Add a DelegatingDatabaseMetaData to track ResultSets returned from
DatabaseMetaData objects. Fixes DBCP-265. |
markt |
 |
Modified BasicDataSourceFactory to complete initialization of the pool
by creating initialSize connections rather than leaving this to lazy
initialization when the pool is used. Fixes DBCP-215. |
markt |
 |
Eliminated masked _stmt field in descendents of DelegatingStatement. Fixes DBCP-253. |
markt |
 |
Modified DBCP sources to support compilation under JDK 1.4-1.6
using Ant flags to do conditional compilation. Fixes DBCP-191. Thanks to Michael Heuer and J. David Beutel. |
markt |
 |
Added a static initializer to BasicDatasource that calls
DriverManager.getDrivers() to force initialization before we ever do
anything that might use Class.forName() to load (and register) a JDBC
driver. Fixes DBCP-272. |
markt |
 |
Eliminated direct System.out calls in AbandonedTrace. Fixes DBCP-4. |
markt |
 |
Modified DelegatingStatment close to clear open batches. Fixes DBCP-264. |
niallp |
 |
Eliminated unused private "parent" field in AbandonedTrace. Fixes DBCP-255. |
psteitz |
 |
Fixed errors handling boolean-valued Reference properties in
InstanceKeyObjectFactory, DriverAdapterCPDS that were causing
testOnBorrow and poolPreparedStatements properties to be incorrectly
set when creating objects from javax.naming.Reference instances. Fixes DBCP-273. Thanks to Mark Lin. |
psteitz |
 |
Made private instance fields of AbandonedTrace volatile (parent,
createdBy, lastUsed, createdTime) or final (trace). Fixes DBCP-271. Thanks to Sebastian Bazley. |
psteitz |
 |
Narrowed synchronization in AbandonedTrace to resolve an Evictor deadlock. Fixes DBCP-270. Thanks to Filip Hanik. |
psteitz |
 |
Corrected Javadoc to state that getLoginTimeout and setLoginTimeout are
NOT supported by BasicDataSource. Fixes DBCP-218. |
bayard |
 |
Added Maven 2 pom.xml. Removed a block of code from TestJOCLed 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 |
 |
Added support for pooling managed connections. Fixes DBCP-228. Thanks to Dain Sundstrom. |
psteitz |
 |
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 |
 |
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 |
 |
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 |
 |
SQLNestedException has been deprecated and will be replaced in DBCP 2.0 with
SQLException and standard Java exception chaining. Fixes DBCP-143. |
dain |
 |
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 |
 |
Eliminated potential sources of NullPointerExceptions in
PoolingConnection. Fixes DBCP-241. |
psteitz |
 |
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. Fixes DBCP-216. Thanks to Marcos Sanz. |
psteitz |
 |
Fixed error in SharedPoolDataSource causing incorrect passwords to be
stored under certain conditions. Fixes DBCP-245. Thanks to Michael Drechsel. |
psteitz |
 |
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 |
 |
Made getPool synchronized in PoolableConnectionFactory.
Fixes inconsistent synchronization accessing _pool. Fixes DBCP-252. Thanks to FindBugs. |
psteitz |
 |
Fixed inconsistent synchronization on _rollbackAfterValidation,
_validationQuery and _pool in CPDSConnectionFactory and
KeyedCPDSConnectionFactory by making the first two volatile and making
both getter and setter for _pool synchronized. Fixes DBCP-252. Thanks to FindBugs. |
psteitz |
| Type |
Changes |
By |
 |
See DBCP 1.4 Changes for details. Version
1.3 is identical to 1.4, other than JDBC 4 methods being filtered out of the DBCP 1.3 sources. Changes
Since 1.2.2 are the same for 1.3 and 1.4. |
|
| Type |
Changes |
By |
 |
Add a JNDI How To to the User Guide. |
dirkv |
 |
DriverManagerConnectionFactory: blank username/password handling. Fixes DBCP-108. Thanks to Maxwell Grender-Jones. |
dirkv |
 |
Broken behaviour for BasicDataSource.setMaxActive(0). Fixes DBCP-113. Thanks to Rohan Lenard. |
dirkv |
 |
BasicDataSource does not work with getConnection(String, String). Fixes DBCP-36. Thanks to Jonathan Whitall. |
dirkv |
 |
Enhancements to prepared statement in DriverAdapterCPDS. Fixes DBCP-164. Thanks to Todd Carmichael. |
dirkv |
 |
Better messages and docs for LoginTimeout UnsupportedOperationException. Fixes DBCP-186. Thanks to Ralf Hauser. |
yoavs |
 |
Error in JOCL snippet in org.apache.commons.dbcp package javadoc. Fixes DBCP-50. Thanks to Nicky Nicolson. |
yoavs |
 |
Added toString() methods to DelegatingPreparedStatement and DelegatingStatement Fixes DBCP-165. Thanks to QM. |
yoavs |
 |
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 |
 |
Per-user pooling with Oracle driver and default isolation settings. Fixes DBCP-20. Thanks to Chris Nappin. |
dirkv |
 |
Error in JOCL document in javadoc. Fixes DBCP-9. Thanks to Adrian Baker. |
dirkv |
 |
Added toString() method to DelegatingConnection. |
sullis |
 |
Add DriverManager.invalidateConnection(). Fixes DBCP-181. Thanks to Meikel Bisping. |
dirkv |
 |
Improved Exception nesting in ConnectionPool. Fixes DBCP-184. Thanks to Meikel Bisping. |
dirkv |
 |
Fix broken website links for examples. Fixes DBCP-144. Thanks to Sebb. |
dennisl |
 |
Modified PoolableConnection close method to invalidate instance
when invoked on an already closed connection. Fixes DBCP-28. Thanks to Huw Lewis, James Ring. |
psteitz |
 |
Inserted null checks to avoid NPE in close operations. Fixes DBCP-81. |
joehni |
 |
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 |
 |
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 |
 |
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 |
 |
Modified activateObject in PoolableConnection to test connection
properties before resetting to defaults. Fixes DBCP-102. |
psteitz |
 |
Corrected maxActive documentation in configuration.html. Fixes DBCP-188. |
sandymac |
 |
Upgraded dependency to Pool 1.3. |
psteitz |
 |
Added connection info to SQLException messages when closed connections
(resp stmts) are accessed in DelegatingConnection, DelegatingStatement. Fixes DBCP-187. Thanks to Ralf Hauser. |
psteitz |
 |
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 |
 |
Made userKeys an instance variable (i.e., not static)
in SharedPoolDataSource. Fixes DBCP-100. |
psteitz |
 |
Changed implementation of equals in
PoolingDataSource.PoolGuardConnectionWrapper
to ensure it is reflexive, even when wrapped connections are not
DelegatingConnections. Fixes DBCP-198. |
psteitz |
 |
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 |
 |
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 |
 |
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 |