list of versions

                        Jakarta Commons DBCP Version 1.2.2
                                   RELEASE NOTES

      
This is a maintenance release containing bug fixes and enhancements. All API
changes are binary compatible with version 1.2.1.

For more information on Jakarta Commons DBCP, see
http://jakarta.apache.org/commons/dbcp/
      
Changes in this version include:

  Additions:

* Add a JNDI How To to the User Guide.
          

  Bug fixes:

* DBCP-108. DriverManagerConnectionFactory: blank username/password handling.
  Thanks to Maxwell Grender-Jones.
          
* DBCP-113. Broken behaviour for BasicDataSource.setMaxActive(0). Thanks to
  Rohan Lenard.
          
* DBCP-36. BasicDataSource does not work with getConnection(String, String).
  Thanks to Jonathan Whitall.
          
* DBCP-50. Error in JOCL snippet in org.apache.commons.dbcp package javadoc.
  Thanks to Nicky Nicolson.
          
* 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).
          
* DBCP-20. Per-user pooling with Oracle driver and default isolation
  settings. Thanks to Chris Nappin.
          
* DBCP-9. Error in JOCL document in javadoc. Thanks to Adrian Baker.
          
* DBCP-184. Improved Exception nesting in ConnectionPool. Thanks to Meikel
  Bisping.
          
* DBCP-144. Fix broken website links for examples. Thanks to Sebb.
          
* DBCP-28. Modified PoolableConnection close method to invalidate instance
  when invoked on an already closed connection. Thanks to Huw Lewis, James
  Ring.
          
* DBCP-81. Inserted null checks to avoid NPE in close operations.
          
* DBCP-105. Changed getReference method in InstanceKeyDataSource to return a 
  concrete factory and added implementations of getReference in concrete
  subclasses. Thanks to Sandy McArthur, Thomas Fischer.
          
* DBCP-39. Inserted null check in close method of SharedPoolDataSource to
  avoid NPE when invoked on non-initialized pool. Thanks to Jindrich Vimr.
          
* DBCP-71. Document fact that true values for testOnBorrow, testOnReturn,
  testWhileIdle only have effect when validationQuery is set to a non-null
  string. Thanks to Douglas Squirrel.
          
* DBCP-102. Modified activateObject in PoolableConnection to test connection
  properties before resetting to defaults.
          
* DBCP-188. Corrected maxActive documentation in configuration.html.
          
* DBCP-41. 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. Thanks to Anton
  Tagunov.
          
* DBCP-100. Made userKeys an instance variable (i.e., not static) in
  SharedPoolDataSource.
          
* DBCP-198. Changed implementation of equals in
  PoolingDataSource.PoolGuardConnectionWrapper to ensure it is reflexive,
  even when wrapped connections are not DelegatingConnections.
          
* DBCP-65. 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.
          

  Enhancements:

* DBCP-164. Enhancements to prepared statement in DriverAdapterCPDS. Thanks
  to Todd Carmichael.
          
* DBCP-186. Better messages and docs for LoginTimeout
  UnsupportedOperationException. Thanks to Ralf Hauser.
          
* DBCP-165. Added toString() methods to DelegatingPreparedStatement and
  DelegatingStatement Thanks to QM.
          
* Added toString() method to DelegatingConnection.
          
* DBCP-181. Add DriverManager.invalidateConnection(). Thanks to Meikel
  Bisping.
          
* Upgraded dependency to Pool 1.3.
          
* DBCP-187. Added connection info to SQLException messages when closed
  connections (resp stmts) are accessed in DelegatingConnection,
  DelegatingStatement. Thanks to Ralf Hauser.
          
* DBCP-116. 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.
  Thanks to Thomas Fischer.
          
* DBCP-68. Removed dependency on Commons Collections by adding collections
  2.1 sources for LRUMap and SequencedHashMap with package scope to
  datasources package.
          
Known Issues (significant open issues at time of release):
  
* Multiple issues (DBCP-3, DBCP-5, DBCP-23, DBCP-34, DBCP-61, DBCP-134,
  DBCP-148, DBCP-180) related to DBCP connection closing semantics. Fixing
  these issues could break existing clients, so they have been deferred to
  a major release.

* DBCP-44. Evictor thread in GenericObjectPool has potential for deadlock.
  The GenericObjectPool Evictor thread can potentially cause a deadlock between
  its connection factory and java.sql.DriverManager. The deadlock occurs when
  the Evictor thread is trying to make enough connections to bring the pool's
  idle connections up to what's specified in minIdle, at the same time a
  connection is being requested through DriverManager.getConnection(). The
  suggested workaround is to either set minIdle to 0 when using the
  PoolingDriver or access connections directly from the pool if minIdle is
  set to a positive number. See the bug report for details.
  
* DBCP-191. DBCP does not compile under JDK 1.6 / JDBC 4.0.  Fixing this would
  break backward compatibility.

For a full list of open DBCP issues see
http://jakarta.apache.org/commons/dbcp/issue-tracking.html