| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- |
| This file is used by the maven-changes-plugin to generate the release notes. |
| Useful ways of finding items to add to this file are: |
| |
| 1. Add items when you fix a bug or add a feature (this makes the |
| release process easy :-). |
| |
| 2. Do a bugzilla search for tickets closed since the previous release. |
| |
| 3. Use the report generated by the maven-changelog-plugin to see all |
| SVN commits. Set the project.properties' maven.changelog.range |
| property to the number of days since the last release. |
| |
| To generate the release notes from this file: |
| |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| then tweak the formatting if necessary |
| and commit |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| |
| <document> |
| <properties> |
| <title>Apache Commons DBCP Release Notes</title> |
| </properties> |
| <!-- NOTE: |
| The description below is specially formatted so as to improve the layout of the generated release notes: |
| The parsing process removes all line feeds, replacing them with a single space. |
| The Velocity template in src/changes has been enhanced to replace pairs of adjacent spaces |
| with a new-line in the release notes. (These spaces are ignored when displaying HTML). |
| If the output is not quite correct, check for invisible trailing spaces! |
| |
| N.B. The release notes template groups actions by type, and only extracts data for the current release. |
| The changes report outputs actions in the order they appear in this file. |
| |
| To regenerate the release notes: |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix. |
| --> |
| |
| <body> |
| <release version="2.7.0" date="2019-MM-DD" description="This is a minor release, including bug fixes and enhancements."> |
| <action dev="jleroux" type="add" issue="DBCP-539" due-to="Jacques Le Roux"> |
| ManagedDataSource#close() should declare used exceptions. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-538" due-to="Ragnar Haugan, Gary Gregory"> |
| Wrong JMX base name derived in BasicDataSource#updateJmxName. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from H2 1.4.198 to 1.4.199. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-540" due-to="emopers"> |
| Close ObjectOutputStream before calling toByteArray() on underlying ByteArrayOutputStream #28. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-541" due-to="Allon Murienik"> |
| Upgrade to JUnit Jupiter #19. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-542" due-to="Zheng Feng, Gary Gregory"> |
| Fix tests on Java 11. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-543" due-to="Gary Gregory"> |
| Update Apache Commons Pool from 2.6.1 to 2.6.2. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-546" due-to="Sergey Chupov"> |
| Avoid NPE when calling DriverAdapterCPDS.toString(). |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-547" due-to="leechoongyon, Gary Gregory"> |
| Add a ConnectionFactory class name setting for BasicDataSource.createConnectionFactory() #33. |
| </action> |
| <action dev="ggregory" type="update" due-to="LichKing-lee"> |
| Fix Javadoc link in README.md #21. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-529" due-to="Yuri"> |
| Add 'jmxName' property to web configuration parameters listing. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from com.h2database:h2 1.4.197 to 1.4.199. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from org.jboss.narayana.jta:narayana-jta 5.9.2.Final to 5.9.5.Final. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from org.jboss.logging:jboss-logging 3.3.2.Final to 3.4.0.Final. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from org.mockito:mockito-core 2.24.0 to 2.28.2. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from org.mockito:mockito-core 2.28.2 to 3.0.0. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-548" due-to="Gary Gregory"> |
| Update Apache Commons Pool from 2.6.1 to 2.7.0. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-549" due-to="Gary Gregory"> |
| Make org.apache.commons.dbcp2.AbandonedTrace.removeTrace(AbandonedTrace) null-safe. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-550" due-to="Gary Gregory"> |
| java.util.IllegalFormatException while building a message for a SQLFeatureNotSupportedException in Jdbc41Bridge.getObject(ResultSet,String,Class). |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Add missing Javadocs. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Update tests from org.mockito:mockito-core 2.28.2 to 3.0.0. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-551" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.DelegatingStatement.close() should try to close ALL of its result sets. |
| </action> |
| </release> |
| <release version="2.6.0" date="2019-02-14" description="This is a minor release, including bug fixes and enhancements."> |
| <action dev="chtompki" type="add" issue="DBCP-534" due-to="Peter Wicks"> |
| Allow for manual connection eviction. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-514" due-to="Tom Jenkinson, Gary Gregory"> |
| Allow DBCP to register with a TransactionSynchronizationRegistry for XA cases. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-517" due-to="Gary Gregory"> |
| Make defensive copies of char[] passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-515" due-to="Tom Jenkinson, Gary Gregory"> |
| Do not try to register synchronization when the transaction is no longer active. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-516" due-to="Tom Jenkinson, Gary Gregory"> |
| Do not double returnObject back to the pool if there is a transaction context with a shared connection. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-518" due-to="Gary Gregory"> |
| Allow DBCP to work with old Java 6/JDBC drivers without throwing AbstractMethodError. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-519" due-to="Gary Gregory"> |
| Add some toString() methods for debugging (never printing passwords.) |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-520" due-to="Zheng Feng"> |
| BasicManagedDataSource needs to pass the TSR with creating DataSourceXAConnectionFactory. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-527" due-to="Gary Gregory"> |
| Add getters to some classes. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-528" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.DriverManagerConnectionFactory should use a char[] instead of a String to store passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-537" due-to="Gary Gregory"> |
| Update Apache Commons Pool from 2.6.0 to 2.6.1. |
| </action> |
| </release> |
| <release version="2.5.0" date="2018-07-15" description="This is a minor release, including bug fixes and enhancements."> |
| <action dev="ggregory" type="update" issue="DBCP-505" due-to="Gary Gregory"> |
| Update Java requirement from version 7 to 8. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-506" due-to="Gary Gregory"> |
| Support JDBC 4.2. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-479" due-to="Guillaume Husta, Gary Gregory"> |
| Support default schema in configuration. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-427" due-to="Vladimir Konkov, Phil Steitz, Gary Gregory"> |
| Examines 'SQLException's thrown by underlying connections or statements for fatal (disconnection) errors. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-507" due-to="Vladimir Konkov, Phil Steitz, Gary Gregory"> |
| Change default for fail-fast connections from false to true. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-508" due-to="Gary Gregory"> |
| Prepared statement keys should take a Connection's schema into account. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-504" due-to="Bruno P. Kinoshita"> |
| Increase test coverage. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-510" due-to="Gary Gregory"> |
| Update Apache Commons Pool from 2.5.0 to 2.6.0. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-512" due-to="Gary Gregory"> |
| Avoid exceptions when closing a connection in mutli-threaded use case. |
| </action> |
| </release> |
| <release version="2.4.0" date="2018-06-12" description="This is a minor release, including bug fixes and enhancements."> |
| <action dev="ggregory" type="fix" issue="DBCP-484" due-to="Emanuel Freitas"> |
| Connection leak during XATransaction in high load. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-492" due-to="Gary Gregory"> |
| Drop Ant build. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-491" due-to="Zheng Feng, Gary Gregory"> |
| Ensure DBCP ConnectionListener can deal with transaction managers which invoke rollback in a separate thread. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-494" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.PStmtKey should make copies of given arrays in constructors. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-495" due-to="Gary Gregory"> |
| Remove duplicate code in org.apache.commons.dbcp2.cpdsadapter.PStmtKeyCPDS. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-496" due-to="Gary Gregory"> |
| Add support for pooling CallableStatements to the org.apache.commons.dbcp2.cpdsadapter package. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-497" due-to="Gary Gregory"> |
| Deprecate use of PStmtKeyCPDS in favor of PStmtKey. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-498" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.DataSourceConnectionFactory should use a char[] instead of a String to store passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-499" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory should use a char[] instead of a String to store passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-500" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS should use a char[] instead of a String to store passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-501" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.datasources.CPDSConnectionFactory should use a char[] instead of a String to store passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-502" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.datasources internals should use a char[] instead of a String to store passwords. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-503" due-to="Gary Gregory"> |
| org.apache.commons.dbcp2.datasources.InstanceKeyDataSourceFactory.closeAll() does not close all. |
| </action> |
| </release> |
| <release version="2.3.0" date="2018-05-12" description="This is a minor release, including bug fixes and enhancements."> |
| <action dev="pschumacher" type="fix" issue="DBCP-476" due-to="Gary Evesson, Richard Cordova"> |
| AbandonedTrace.getTrace() contains race condition. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-482" due-to="Dennis Lloyd, Gary Gregory"> |
| Avoid javax.management.InstanceNotFoundException on shutdown when a bean is not registered. Closes #9. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-483" due-to="Gary Gregory"> |
| Make constant public: org.apache.commons.dbcp2.PoolingDriver.URL_PREFIX. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-486" due-to="Gary Gregory"> |
| DriverAdapterCPDS.setUser(), setPassword(), and getPooledConnection() with null arguments throw NullPointerExceptions when connection properties are set. |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-487" due-to="Gary Gregory"> |
| Add API org.apache.commons.dbcp2.datasources.PerUserPoolDataSource.clear(). |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-488" due-to="Gary Gregory"> |
| NPE for org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS.setConnectionProperties(null). |
| </action> |
| <action dev="ggregory" type="update" issue="DBCP-490" due-to="Gary Gregory"> |
| The method org.apache.commons.dbcp2.PoolingDriver.getConnectionPool(String) does not tell you which pool name is not registered when it throws an exception. |
| </action> |
| </release> |
| <release version="2.2.0" date="2017-12-27" description="This is a minor release, including bug fixes and enhancements."> |
| <action dev="ggregory" type="fix" issue="DBCP-481" due-to="Gary Gregory"> |
| Update Apache Commons Pool from 2.4.2 to 2.5.0. |
| </action> |
| <action dev="mattsicker" type="fix" issue="DBCP-454" due-to="Philipp Marx, Matt Sicker"> |
| OSGi declarations contain multiple import headers for javax.transaction. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-478" due-to="nicola mele"> |
| Wrong parameter name in site documentation for BasicDataSource Configuration Parameters. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-452"> |
| Add jmxName to properties set by BasicDataSourceFactory. This |
| enables container-managed pools created from JNDI Resource |
| definitions to enable JMX by supplying a valid root JMX name. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-446" due-to="Gary Gregory, feng yang, Euclides M, Phil Steitz"> |
| NullPointerException thrown when calling ManagedConnection.isClosed(). |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-444"> |
| InvalidateConnection can result in closed connection returned by getConnection. |
| </action> |
| <action dev="ggregory" type="fix" issue="DBCP-449" due-to="Grzegorz D."> |
| Complete the fix for DBCP-418, enabling PoolableConnection class to load in environments |
| (such as GAE) where the JMX ManagementFactory is not available. |
| </action> |
| <action dev="ggregory" type="add" issue="DBCP-451"> |
| Add constructor DriverManagerConnectionFactory(String). |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-455" due-to="Kyohei Nakamura"> |
| Ensure that the cacheState setting is used when statement pooling is |
| disabled. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-453" due-to="Philipp Marx"> |
| Ensure that setSoftMinEvictableIdleTimeMillis is used when working with |
| BasicDataSource. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-456" due-to="Kyohei Nakamura"> |
| Correct the name of the configuration attribute |
| softMinEvictableIdleTimeMillis. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-472"> |
| Avoid potential infinite loops when checking if an SQLException is fatal |
| for a connection or not. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-468"> |
| Expand the fail-fast for fatal connection errors feature to include |
| managed connections. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-463"> |
| Correct a typo in the method name |
| PoolableConnectionFactory#setMaxOpenPreparedStatements. The old method |
| remains but is deprecated so not to break clients currently using the |
| incorrect name. |
| </action> |
| <action dev="markt" type="add" issue="DBCP-462" due-to="Keiichi Fujino"> |
| Refactoring to prepare for a future patch to enable pooling of all |
| prepared and callable statements in PoolingConnection. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-459"> |
| Ensure that a thread's interrupt status is visible to the caller if the |
| thread is interrupted during a call to |
| PoolingDataSource.getConnection(). |
| </action> |
| <action dev="markt" type="add" issue="DBCP-458" due-to="Adrian Tarau"> |
| Make it simpler to extend BasicDataSource to allow sub-classes to |
| provide custom GenericObjectPool implementations. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-457"> |
| When using a BasicDataSource, pass changes related to the handling of |
| abandoned connections to the underlying pool so that the pool |
| configuration may be updated dynamically. |
| </action> |
| <action dev="markt" type="add" issue="DBCP-474" due-to="Keiichi Fujino"> |
| Enable pooling of all prepared and callable statements |
| inPoolingConnection. |
| </action> |
| </release> |
| <release version="2.1.1" date="6 Aug 2015" description= |
| "This is a patch release, including bug fixes only."> |
| <action dev="psteitz" type="update"> |
| Updated pool version to 2.4.2. The fix for POOL-300 may cause DBCP |
| users to see more reports of abandoned connections (if removal and logging |
| are configured). Prior to the fix for POOL-300, the PrintWriter used to log |
| abandoned connection stack traces was not being flushed on each log event. |
| </action> |
| <action issue="DBCP-441" dev="psteitz" type="fix"> |
| Added BasicDataSource abandonedUsageTracking property missing from BasicDataSourceFactory. |
| </action> |
| <action issue="DBCP-442" dev="psteitz" type="fix"> |
| SharedPoolDataSource getConnection fails when testOnBorrow is set with |
| a null validation query. |
| </action> |
| <action issue="DBCP-438" dev="psteitz" type="fix" due-to="Raihan Kibria"> |
| Nested connections in a transaction (local) throws null pointer. |
| </action> |
| <action issue="DBCP-437" dev="psteitz" type="fix"> |
| BasicDataSource does not set disconnectionSql properties on its PoolableConnectionFactory. |
| </action> |
| </release> |
| <release version="2.1" date="23 Feb 2015" description= |
| "This is minor release, including bug fixes and enhancements. Note that |
| one of the enhancements (DBCP-423) is to implement AutoCloseable in |
| BasicDataSource, PoolingDataSource and the InstanceKeyDataSource |
| implementations. |
| "> |
| <action issue="DBCP-420" dev="sebb" type="fix"> |
| InstanceKeyDataSource discards native SQLException when given password does not match |
| password used to create the connection. |
| </action> |
| <action issue="DBCP-422" dev="ggregory" type="update"> |
| Update Apache Commons Logging to 1.2 from 1.1.3. |
| </action> |
| <action dev="markt" type="fix"> |
| Correct some Javadoc references to Apache Commons Pool 2 classes that |
| have changed names since Pool 1.x. |
| </action> |
| <action dev="markt" type="fix"> |
| Do not ignore the configured custom eviction policy when creating a |
| BasicDataSource. |
| </action> |
| <action dev="psteitz" type="add" issue="DBCP-426" due-to="Kasper Sørensen"> |
| Added invalidateConnection method to BasicDataSource. |
| </action> |
| <action issue="DBCP-428" dev="psteitz" type="fix" due-to="Vladimir Konkov"> |
| Unsuccessful Connection enlistment in XA Transaction ignored by TransactionContext. |
| </action> |
| <action issue="DBCP-424" dev="psteitz" type="update"> |
| Made expired connection logging configurable in BasicDataSource. Setting |
| logExpiredConnections to false suppresses expired connection log messages. |
| </action> |
| <action issue="DBCP-423" dev="psteitz" type="update"> |
| Made Datasources implement AutoCloseable. |
| </action> |
| <action issue="DBCP-427" dev="psteitz" type="add" due-to="Vladimir Konkov"> |
| Added fastFailValidation property to PoolableConnection, configurable in |
| BasicDataSource. When set to true, connections that have previously thrown |
| fatal disconnection errors will fail validation immediately (no driver calls). |
| </action> |
| <action issue="DBCP-432" dev="psteitz" type="fix"> |
| Changed BasicDataSource createDataSource method to ensure that initialization |
| completes before clients get reference to newly created instances. |
| </action> |
| <action issue="DBCP-433" dev="psteitz" type="fix" due-to="Vladimir Konkov"> |
| Fixed connection leak when SQLException is thrown while enlisting an XA |
| transaction. |
| </action> |
| <action issue="DBCP-434" dev="psteitz" type="fix"> |
| Setting jmxName to null should suppress JMX registration of connection |
| and statement pools. |
| </action> |
| <action dev="psteitz" type="update"> |
| Eliminated synchronization in BasicDataSource getNumActive, getNumIdle methods. |
| </action> |
| <action issue="DBCP-435" type="update" due-to="Denixx Baykin"> |
| Added property name verification to BasicDataSourceFactory. References including |
| obsolete or unrecognized properties now generate log messages. |
| </action> |
| </release> |
| <release version="2.0.1" date="24 May 2014" description="This is a bug fix release."> |
| <action dev="markt" type="fix"> |
| Small performance improvements when returning connections to the pool. |
| </action> |
| <action issue="DBCP-414" dev="markt" type="fix" due-to="Pasi Eronen"> |
| Fixed DelegatingStatement close to ensure closed statements do not retain references |
| to pooled prepared statements. Due to finalization code added in 2.0, this was causing |
| pooled prepared statements to be closed by GC while in use by clients. |
| </action> |
| <action issue="DBCP-412" dev="psteitz" type="update"> |
| Added check in PoolingDataSource constructor to ensure that the connection factory |
| and pool are properly linked. |
| </action> |
| <action issue="DBCP-417" dev="psteitz" type="fix"> |
| Fixed connection leak when managed connections are closed during transactions. |
| </action> |
| <action issue="DBCP-418" dev="psteitz" type="fix"> |
| Enable PoolableConnection class to load without JMX. |
| </action> |
| </release> |
| <release version="2.0" date="3 March 2014" description= |
| "This release includes new features as well as bug fixes and enhancements. |
| Version 2.0.x supports JDBC 4.1, so requires Java 7. |
| |
| The Java package name has been changed from 'org.apache.commons.dbcp' to 'org.apache.commons.dbcp2'. |
| Also the Maven groupId is now 'org.apache.commons' and the artifactId is 'commons-dbcp2' |
| These changes are necessary because the API is not strictly binary compatible with the 1.x releases. |
| To convert from the earlier releases, update the package name in imports, update the dependencies and recompile. |
| There may be a few other changes to be made. |
| |
| Applications running under Java 7 should use DBCP 2.0.x. |
| Java 6 users should use DBCP 1.4.x which supports JDBC 4. |
| Java 1.4 and Java 5 users should use DBCP 1.3.x which supports JDBC 3. |
| "> |
| <action issue="DBCP-411" dev="sebb" type="fix"> |
| BasicManagedDataSource - unregister from JMX on close(). |
| </action> |
| <action issue="DBCP-154" dev="markt" type="fix"> |
| Log validation failures of poolable connections. |
| </action> |
| <action issue="DBCP-403" dev="sebb" type="fix"> |
| DelegatingStatement.close() fails with NPE if statement is null |
| </action> |
| <action issue="DBCP-322" dev="sebb" type="fix"> |
| CPDSConnectionFactory.validateObject(Object) ignores Throwable. |
| </action> |
| <action dev="markt" type="add"> |
| Provide a new option (cacheState) to cache current values of autoCommit |
| and readOnly so database queries are not required for every call to the |
| associated getters. This option is enabled by default. |
| </action> |
| <action dev="markt" issue="DBCP-300" type="fix"> |
| Removed unnecessary synchronisation in BasicDataSource#createDataSource. |
| </action> |
| <action dev="markt" type="update"> |
| The Java package name has been changed from org.apache.commons.dbcp to |
| org.apache.commons.dbcp2. |
| </action> |
| <action dev="markt" type="update"> |
| Update to Commons Pool 2 (based on java.util.concurrent) to provide |
| pooling functionality. |
| </action> |
| <action dev="markt" type="update"> |
| Updated source code for Java 1.6 (added @Override & @Deprecated |
| annotations). |
| </action> |
| <action dev="markt" type="update"> |
| Removed JOCL support. |
| </action> |
| <action dev="markt" issue="DBCP-143" type="update"> |
| Remove deprecated SQLNestedException. |
| </action> |
| <action dev="markt" issue="DBCP-384" type="fix"> |
| Fix threading issues with accessToUnderlyingConnectionAllowed attribute |
| of PoolingDriver which is used to support unit testing. |
| </action> |
| <action dev="markt" issue="DBCP-292" type="add"> |
| BasicDataSource instances are now exposed via JMX. All the configuration |
| properties are available as is the connection pool and the statement |
| pools (if statement pooling is enabled). |
| </action> |
| <action dev="markt" issue="DBCP-376" type="fix" due-to="Dave Oxley"> |
| Fix thread safety issues in the SharedPoolDataSource and the |
| PerUserPoolDataSource. |
| </action> |
| <action dev="markt" issue="DBCP-382" type="fix" due-to="Stefan Rempfer"> |
| Allow accessToUnderlyingConnectionAllowed to be configured when |
| configuration takes place via JNDI in a JavaEE container. |
| </action> |
| <action dev="markt" issue="DBCP-369" type="fix" due-to="Michael Pradel"> |
| Fix threading issue when using multiple instances of the |
| SharedPoolDataSource concurrently. |
| </action> |
| <action dev="markt" issue="DBCP-391" type="fix"> |
| Ensure that the close state of a pooled connection and the underlying |
| connection is consistent when the underlying connection is closed as a |
| result of an error condition. |
| </action> |
| <action dev="markt" issue="DBCP-404" type="fix"> |
| Make all mutable fields private. |
| </action> |
| <action dev="markt" issue="DBCP-364" type="fix"> |
| Return BasicDataSource rather than DataSource from |
| BasicDataSourceFactory so a cast is not required to use BasicDataSource |
| specific methods. |
| </action> |
| <action dev="markt" issue="DBCP-358" type="fix"> |
| The equals() implementations of the DelegatingXxx classes are now |
| symmetric. There are some important API changes underlying this fix. |
| Firstly, two DelegatingXxx instances are no longer considered equal if |
| they have the same innermost delegate. Secondly, a DelegatingXxx |
| instance is not considered equal to its innermost delegate. The |
| getInnermostDelegateInternal() method has been made public (but remains |
| part of the internal API) to allow classes extending this implementation |
| to access the innermost delegate when required. |
| </action> |
| <action dev="markt" issue="DBCP-368" type="add"> |
| Expose the new Pool 2 property evictionPolicyClassName to enable more |
| sophisticated eviction strategies to be used. |
| </action> |
| <action dev="markt" issue="DBCP-406" type="add" due-to="Steeve Beroard"> |
| Add support for pooling PreparedStatements that use auto-generated keys. |
| </action> |
| <action dev="markt" issue="DBCP-180" type="fix"> |
| Enable JDBC resources that are no longer referenced by client code to be |
| eligible for garbage collection. |
| </action> |
| <action dev="markt" issue="DBCP-177" type="add"> |
| Enable DBCP to work with a SecurityManager such that only DBCP needs to |
| be granted the necessary permissions to communicate with the database. |
| </action> |
| <action dev="markt" issue="DBCP-410" type="fix" due-to="Andreas Sturmlechner"> |
| Correct path to Javadoc overview in build.xml. |
| </action> |
| <action dev="markt" issue="DBCP-234" type="fix"> |
| The default values for readOnly, autoCommit and transactionIsolation are |
| now taken from the JDBC driver. No calls to setReadOnly(), |
| setAutoCommit() or setTransactionIsolation() will be made for a newly |
| borrowed connection unless a default is explicitly configured and the |
| connection is currently using a different setting. |
| </action> |
| <action dev="markt" issue="DBCP-219" type="add"> |
| Register pooled connections with JMX so that they may be forcibly closed |
| via JMX if required. |
| </action> |
| <action dev="markt" issue="DBCP-373" type="add"> |
| Modify SharedPoolDataSource and PerUserPoolDataSource to expose all of |
| the configuration properties of the underlying connection pool(s). This |
| represents a significant refactoring of these classes and a number of |
| property names have changed as a result. |
| </action> |
| <action dev="markt" issue="DBCP-351" type="add"> |
| Provide an option to control if autoCommit is always set to true when a |
| connection is returned to the connection pool. |
| </action> |
| <action dev="markt" issue="DBCP-399" type="add"> |
| Provide an option to control if rollback is called when a connection is |
| returned to the poll with autoCommit disabled. |
| </action> |
| <action dev="markt" issue="DBCP-340" type="add"> |
| Provide an option to set the default query timeout. |
| </action> |
| <action dev="markt" type="fix"> |
| Connection.isValid() should not throw an SQLException if the connection |
| is closed. |
| </action> |
| <action dev="markt" issue="DBCP-357" type="fix"> |
| Use Connection.isValid() to validate connections unless a validation |
| query is explicitly configured. Note that this means it is no longer |
| necessary for a validation query to be specified in order for validation |
| to take place. When testing with Oracle, this resulted in database |
| validation being approximately 7 times faster. |
| </action> |
| <action dev="markt" issue="DBCP-249" type="add"> |
| Add support for validation testing database connections on creation. |
| </action> |
| </release> |
| <release version="1.5.1" date="not yet released" description="TBD"> |
| <action dev="markt" issue="DBCP-400" type="fix"> |
| Correct the documentation for the maxOpenPreparedStatements parameter |
| and review the use of the phrase non-positive throughout the |
| documentation and javadoc, replacing it with negative where that is the |
| correct definition to use. |
| </action> |
| <action dev="markt" issue="DBCP-405" type="fix"> |
| Avoid multiple calls to Connection.getAutoCommit() in |
| PoolableConnectionFactory.passivateObject() as it could be an expensive |
| call. |
| </action> |
| <action dev="markt" issue="DBCP-392" type="fix"> |
| Use one line per statement for methods with multiple statements rather |
| than using a single line. |
| </action> |
| <action dev="markt" issue="DBCP-396" type="fix"> |
| Expose all of the AbandonedConfig properties through a BasicDataSource. |
| </action> |
| <action dev="markt" issue="DBCP-380" type="fix" due-to="Balazs Zsoldos"> |
| Correct implementation of DelegatingConnection.isWrapperFor() so it |
| works correctly with older JDBC drivers. |
| </action> |
| <action dev="markt" issue="DBCP-347" type="fix" due-to="Robert Poskrobek"> |
| Correct implementation of DelegatingStatement.isWrapperFor(). Also fix |
| DelegatingDatabaseMetaData.isWrapperFor() and |
| DelegatingResultSet.isWrapperFor() that had the same problem. |
| </action> |
| <action dev="markt" issue="DBCP-341" type="fix" due-to="Ioannis Canellos"> |
| LocalXAConnectionFactory does not properly check if Xid is equal to |
| currentXid when resuming which may result in an XAException. |
| </action> |
| <action dev="markt" issue="DBCP-355" type="fix" due-to="Florent Guillaume"> |
| Ensure that the XAConnection is closed when the associated Connection is |
| closed. |
| </action> |
| <action dev="markt" issue="DBCP-398" type="fix"> |
| Clarify Jaavdoc for isClosed() method of PoolableConnection. |
| </action> |
| <action dev="markt" issue="DBCP-383" type="fix"> |
| Avoid NullPointerException and throw an XAException if an attempt is |
| made to commit the current transaction for a connection when no |
| transaction has been started. |
| </action> |
| <action dev="markt" issue="DBCP-372" type="fix"> |
| Using batchUpdate() should not invalidate the PreparedStatement when it |
| is returned to the pool. |
| </action> |
| <action dev="markt" issue="DBCP-309" type="fix"> |
| Improve documentation for JNDI example using BasicDataSource. |
| </action> |
| </release> |
| <release version="1.4.1" date="not yet released" description="TBD"> |
| <action dev="psteitz" issue="DBCP-334" type="update" due-to="Alberto Mozzone"> |
| Exposed GenericObjectPool's softMinEvictableIdleTimeMillis property for |
| configuration and use by BasicDataSource. |
| </action> |
| <action dev="psteitz" issue="DBCP-337" type="fix" due-to="Rob Gansevles"> |
| Made equals reflexive in DelegatingStatement (and subclasses), DelegatingMetaData, |
| DelegatingResultSet and PoolingDriver#PoolGuardConnectionWrapper. |
| </action> |
| <action dev="psteitz" issue="DBCP-342" type="fix" due-to="Byungchol Kim"> |
| Modified createDataSource method in BasicDataSource to ensure that GenericObjectPool |
| Evictor tasks are not started and orphaned when BasicDataSource encounters errors on |
| initialization. Prior to this fix, when minIdle and timeBetweenEvictionRunsMillis |
| are both positive, Evictors orphaned by failed initialization can continue to |
| generate database connection requests. This issue is duplicated by DBCP-339 |
| and DBCP-93. |
| </action> |
| <action dev="psteitz" issue="DBCP-330" type="fix"> |
| Changed DelegatingDatabaseMetaData to no longer add itself to the AbandonedTrace |
| of its parent connection. This was causing excessive memory consumption and was |
| not necessary, as resultsets created by DelegatingDatabaseMetaData instances are |
| attached to the parent connection's trace on creation. Also fixes DBCP-352. |
| </action> |
| <action dev="psteitz" issue="DBCP-343" type="fix"> |
| Modified execute methods of Statement objects to ensure that whenever |
| a statement is used, the lastUsed property of its parent connection is |
| updated. |
| </action> |
| <action dev="markt" issue="DBCP-333" type="fix"> |
| Correctly implemented the option to configure the class loader used to load |
| the JDBC driver. |
| </action> |
| <action dev="psteitz" issue="DBCP-346" type="update" due-to="Ken Tatsushita"> |
| LIFO configuration option has been added to BasicDataSource. When set |
| to true (the default), the pool acts as a LIFO queue; setting to false |
| causes connections to enter and exit to pool in FIFO order. |
| </action> |
| <action dev="psteitz" issue="DBCP-344" type="fix" due-to="Jeremy Whiting"> |
| Test transitive dependencies brought in by geronimo-transaction created |
| version conflicts (commons logging and junit). These have been explicitly |
| excluded in the POM. |
| </action> |
| <action dev="psteitz" issue="DBCP-348" type="fix" due-to="Eiji Takahashi"> |
| BasicDataSourceFactory incorrectly used "initConnectSqls" in versions |
| 1.3 and 1.4 of DBCP as the property name for connectionInitSqls. |
| Online docs for 1.3/1/4 have been updated to reflect this inconsistency. |
| The BasicDataSourceFactory property name has been changed to "connectInitSqls" |
| to match the online docs and the BasicDataSource property name. |
| </action> |
| </release> |
| <release version="1.4" date="2010-02-14" description="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 "> |
| <action dev="psteitz" type="fix" issue="DBCP-320"> |
| Eliminated poolKeys cache from PerUserPoolDataSource. |
| </action> |
| <action dev="sebb" type="fix" issue="DBCP-321"> |
| Eliminated userKeys LRUMap cache from SharedPoolDataSource. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-319" due-to="Sebastian Bazley"> |
| Made private fields final where possible. |
| </action> |
| <action dev="sebb" type="fix" issue="DBCP-318" due-to="Sebastian Bazley"> |
| PerUserPoolDataSource.getPooledConnectionAndInfo multi-threading bug. |
| </action> |
| <action dev="sebb" type="fix" issue="DBCP-315" due-to="Sebastian Bazley"> |
| Remove throws clause from method that does not throw an exception. |
| </action> |
| <action dev="sebb" type="fix" issue="DBCP-313" due-to="Sebastian Bazley"> |
| Remove code that catches and ignores Exceptions when calling |
| PooledConnection.removeConnectionEventListener(ConnectionEventListener) |
| as the method does not throw any Exceptions. |
| </action> |
| <action dev="sebb" type="fix" issue="DBCP-316" due-to="Sebastian Bazley"> |
| Remove impossible null check. |
| </action> |
| <action dev="sebb" type="update" issue="DBCP-314" due-to="Sebastian Bazley"> |
| Renamed variables with duplicate names in different scopes. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-312" due-to="Glen Mazza"> |
| Clarified javadoc for BasicDataSource close() method. |
| </action> |
| <action dev="psteitz" type="add" issue="DBCP-204" due-to="Wei Chen"> |
| 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. |
| </action> |
| <action dev="markt" type="update" issue="DBCP-305" due-to="Christopher Schultz"> |
| 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. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-303" due-to="Dave Oxley"> |
| Ensure Statement.getGeneratedKeys() works correctly with the CPDS |
| adapter. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-302" due-to="Sebastian Bazley"> |
| Removed incorrectly advertised ClassNotFoundException from |
| JOCLContentHandler.ConstructorDetails.createObject(). |
| </action> |
| <action dev="markt" type="update" issue="DBCP-203" due-to="Mark Grand"> |
| Make the class loader used to load the JDBC driver configurable for the |
| BasicDatasource. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-8"> |
| Handle user password changes for InstanceKeyDataSources. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-289" due-to="Marc Kannegießer"> |
| Made XADataSource configurable in BasicManagedDataSource. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-294" due-to="Philippe Mouawad"> |
| Added PoolableManagedConnection and PoolableManagedConnectionFactory so that |
| pooled managed connections can unregister themselves from transaction registries, |
| avoiding resource leaks. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-276"> |
| Added connectionProperties property to DriverAdapterCPDS. |
| </action> |
| <action dev="psteitz" type="add" issue="DBCP-226"> |
| Added a validationQueryTimeout configuration parameter to BasicDataSource |
| allowing the user to specify a timeout value (in seconds) for connection |
| validation queries. |
| </action> |
| <action dev="psteitz" type="add" issue="DBCP-175" due-to="Jiri Melichna and Jerome Lacoste"> |
| 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. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-212"> |
| 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. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-242"> |
| Reverted DelegatingConnection close to 1.2.2 version to ensure |
| open statements are closed before the underlying connection is closed. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-235"> |
| Refactor DelegatingConnection and ManagedConnection enable overridden |
| equals() and hashcode() to work correctly. |
| </action> |
| <action dev="markt" type="update" issue="DBCP-265"> |
| Add a DelegatingDatabaseMetaData to track ResultSets returned from |
| DatabaseMetaData objects. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-215"> |
| Modified BasicDataSourceFactory to complete initialization of the pool |
| by creating initialSize connections rather than leaving this to lazy |
| initialization when the pool is used. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-253"> |
| Eliminated masked _stmt field in descendents of DelegatingStatement. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-191" due-to="Michael Heuer and J. David Beutel" > |
| Modified DBCP sources to support compilation under JDK 1.4-1.6 |
| using Ant flags to do conditional compilation. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-272"> |
| 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. |
| </action> |
| <action dev="markt" type="fix" issue="DBCP-4"> |
| Eliminated direct System.out calls in AbandonedTrace. |
| </action> |
| <action dev="niallp" type="fix" issue="DBCP-264"> |
| Modified DelegatingStatement close to clear open batches. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-255"> |
| Eliminated unused private "parent" field in AbandonedTrace. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-273" due-to="Mark Lin"> |
| 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. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-271" due-to="Sebastian Bazley"> |
| Made private instance fields of AbandonedTrace volatile (parent, |
| createdBy, lastUsed, createdTime) or final (trace). |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-270" due-to="Filip Hanik"> |
| Narrowed synchronization in AbandonedTrace to resolve an Evictor deadlock. |
| </action> |
| <action dev="bayard" type="fix" issue="DBCP-218"> |
| Corrected Javadoc to state that getLoginTimeout and setLoginTimeout are |
| NOT supported by BasicDataSource. |
| </action> |
| <action dev="bayard" type="update" issue="DBCP-211"> |
| 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+. |
| </action> |
| <action dev="psteitz" type="add" issue="DBCP-228" due-to="Dain Sundstrom"> |
| Added support for pooling managed connections. |
| </action> |
| <action dev="psteitz" type="add" issue="DBCP-230" due-to="Dain Sundstrom"> |
| 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. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-233" due-to="Dain Sundstrom"> |
| 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. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-11" due-to="Dain Sundstrom"> |
| 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(). |
| </action> |
| <action dev="dain" type="update" issue="DBCP-143"> |
| SQLNestedException has been deprecated and will be replaced in DBCP 2.0 with |
| SQLException and standard Java exception chaining. |
| </action> |
| <action dev="dain" type="fix" issue="DBCP-221"> |
| 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. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-241"> |
| Eliminated potential sources of NullPointerExceptions in |
| PoolingConnection. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-216" due-to="Marcos Sanz"> |
| 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. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-245" due-to="Michael Drechsel"> |
| Fixed error in SharedPoolDataSource causing incorrect passwords to be |
| stored under certain conditions. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-237" due-to="Oliver Matz"> |
| Added exception handler to ensure that PooledConnections are not |
| orphaned when an exception occurs in setUpDefaults or clearWarnings in |
| InstanceKeyDataSource.getConnection. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-252" due-to="FindBugs"> |
| Made getPool synchronized in PoolableConnectionFactory. |
| Fixes inconsistent synchronization accessing _pool. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-252" due-to="FindBugs"> |
| 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. |
| </action> |
| </release> |
| <release version="1.3" date="2010-02-14" description="Compatability release for JDBC 3. |
| See version 1.4 description and change log."> |
| <action type="update"> |
| See <a href="changes-report.html#a1.4">DBCP 1.4 Changes </a> 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. |
| </action> |
| </release> |
| <release version="1.2.2" date="2007-04-04" |
| description="This is a maintenance release containing bug fixes |
| and enhancements. All API changes are binary compatible with version 1.2.1."> |
| <action dev="dirkv " type="add"> |
| Add a <i>JNDI How To</i> to the User Guide. |
| </action> |
| <action dev="dirkv " type="fix" issue="DBCP-108" due-to="Maxwell Grender-Jones"> |
| DriverManagerConnectionFactory: blank user name and password handling. |
| </action> |
| <action dev="dirkv " type="fix" issue="DBCP-113" due-to="Rohan Lenard"> |
| Broken behaviour for BasicDataSource.setMaxActive(0). |
| </action> |
| <action dev="dirkv " type="fix" issue="DBCP-36" due-to="Jonathan Whitall"> |
| BasicDataSource does not work with getConnection(String, String). |
| </action> |
| <action dev="dirkv " type="update" issue="DBCP-164" due-to="Todd Carmichael"> |
| Enhancements to prepared statement in DriverAdapterCPDS. |
| </action> |
| <action dev="yoavs" type="update" issue="DBCP-186" due-to="Ralf Hauser"> |
| Better messages and docs for LoginTimeout UnsupportedOperationException. |
| </action> |
| <action dev="yoavs" type="fix" issue="DBCP-50" due-to="Nicky Nicolson"> |
| Error in JOCL snippet in org.apache.commons.dbcp package javadoc. |
| </action> |
| <action dev="yoavs" type="update" issue="DBCP-165" due-to="QM"> |
| Added toString() methods to DelegatingPreparedStatement and DelegatingStatement |
| </action> |
| <action dev="yoavs" type="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). |
| </action> |
| <action dev="dirkv " type="fix" issue="DBCP-20" due-to="Chris Nappin"> |
| Per-user pooling with Oracle driver and default isolation settings. |
| </action> |
| <action dev="dirkv " type="fix" issue="DBCP-9" due-to="Adrian Baker"> |
| Error in JOCL document in javadoc. |
| </action> |
| <action dev="sullis" type="update"> |
| Added toString() method to DelegatingConnection. |
| </action> |
| <action dev="dirkv " type="update" issue="DBCP-181" due-to="Meikel Bisping"> |
| Add DriverManager.invalidateConnection(). |
| </action> |
| <action dev="dirkv " type="fix" issue="DBCP-184" due-to="Meikel Bisping"> |
| Improved Exception nesting in ConnectionPool. |
| </action> |
| <action dev="dennisl" type="fix" issue="DBCP-144" due-to="Sebb"> |
| Fix broken website links for examples. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-28" |
| due-to="Huw Lewis, James Ring"> |
| Modified PoolableConnection close method to invalidate instance |
| when invoked on an already closed connection. |
| </action> |
| <action dev="joehni" type="fix" issue="DBCP-81"> |
| Inserted null checks to avoid NPE in close operations. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-105" |
| due-to="Sandy McArthur, Thomas Fischer"> |
| Changed getReference method in InstanceKeyDataSource to return a |
| concrete factory and added implementations of getReference in concrete |
| subclasses. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-39" due-to="Jindrich Vimr"> |
| Inserted null check in close method of SharedPoolDataSource to avoid |
| NPE when invoked on non-initialized pool. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-71" due-to="Douglas Squirrel"> |
| Document fact that true values for testOnBorrow, testOnReturn, testWhileIdle |
| only have effect when validationQuery is set to a non-null string. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-102"> |
| Modified activateObject in PoolableConnection to test connection |
| properties before resetting to defaults. |
| </action> |
| <action dev="sandymac" type="fix" issue="DBCP-188"> |
| Corrected maxActive documentation in configuration.html. |
| </action> |
| <action dev="psteitz" type="update"> |
| Upgraded dependency to Pool 1.3. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-187" due-to="Ralf Hauser"> |
| Added connection info to SQLException messages when closed connections |
| (resp stmts) are accessed in DelegatingConnection, DelegatingStatement. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-41" due-to="Anton Tagunov"> |
| 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. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-100"> |
| Made userKeys an instance variable (i.e., not static) |
| in SharedPoolDataSource. |
| </action> |
| <action dev="psteitz" type="fix" issue="DBCP-198"> |
| Changed implementation of equals in |
| PoolingDataSource.PoolGuardConnectionWrapper |
| to ensure it is reflexive, even when wrapped connections are not |
| DelegatingConnections. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-116" due-to="Thomas Fischer"> |
| 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. |
| </action> |
| <action dev="psteitz" type="update" issue="DBCP-68"> |
| Removed dependency on Commons Collections by adding collections |
| 2.1 sources for LRUMap and SequencedHashMap with package scope to |
| datasources package. |
| </action> |
| <action dev="psteitz" type="fix" issue="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. |
| </action> |
| </release> |
| |
| <release version="1.2.1" date="2004-06-12" description="Maintenance Release to restore JDK 1.3 compatibility"> |
| <action type="fix"> |
| See <a href="release-notes-1.2.1.html">DBCP 1.2.1 Release Notes</a> for details. |
| </action> |
| </release> |
| |
| <release version="1.2" date="2004-06-07"> |
| <action type="update"> |
| See <a href="release-notes-1.2.html">DBCP 1.2 Release Notes</a> for details. |
| </action> |
| </release> |
| |
| <release version="1.1" date="2003-10-20"> |
| <action type="update"> |
| See <a href="release-notes-1.1.html">DBCP 1.1 Release Notes</a> for details. |
| </action> |
| </release> |
| |
| <release version="1.0" date="2002-08-12" description="Initial Release"> |
| <action type="add"> |
| Initial Release |
| </action> |
| </release> |
| |
| </body> |
| </document> |