Repository: commons-dbcp Updated Branches: refs/heads/master 6c1ac6483 -> 522646274
[DBCP-487] Add API org.apache.commons.dbcp2.datasources.PerUserPoolDataSource.clear(). Project: http://git-wip-us.apache.org/repos/asf/commons-dbcp/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-dbcp/commit/52264627 Tree: http://git-wip-us.apache.org/repos/asf/commons-dbcp/tree/52264627 Diff: http://git-wip-us.apache.org/repos/asf/commons-dbcp/diff/52264627 Branch: refs/heads/master Commit: 5226462744f1e3c11fe5477b543a60b18a80e548 Parents: 6c1ac64 Author: Gary Gregory <[email protected]> Authored: Wed Apr 18 17:40:59 2018 -0600 Committer: Gary Gregory <[email protected]> Committed: Wed Apr 18 17:40:59 2018 -0600 ---------------------------------------------------------------------- pom.xml | 4 ++-- src/changes/changes.xml | 5 ++++- .../datasources/PerUserPoolDataSource.java | 21 +++++++++++++++++++- 3 files changed, 26 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/52264627/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b51a805..079ffdd 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ </parent> <modelVersion>4.0.0</modelVersion> <artifactId>commons-dbcp2</artifactId> - <version>2.2.1-SNAPSHOT</version> + <version>2.3.0-SNAPSHOT</version> <name>Apache Commons DBCP</name> <inceptionYear>2001</inceptionYear> @@ -224,7 +224,7 @@ <maven.compiler.target>1.7</maven.compiler.target> <commons.componentid>dbcp2</commons.componentid> <commons.module.name>org.apache.commons.dbcp2</commons.module.name> - <commons.release.version>2.2</commons.release.version> + <commons.release.version>2.3.0</commons.release.version> <commons.release.desc>for JDBC 4.1 (Java 7.0+)</commons.release.desc> <commons.release.2.version>1.4</commons.release.2.version> <commons.release.2.desc>for JDBC 4 (Java 6.0)</commons.release.2.desc> http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/52264627/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 7abec82..a2db9db 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -60,7 +60,7 @@ The <action> type attribute can be add,update,fix,remove. --> <body> - <release version="2.2.1" date="2018-MM-DD" description="This is a bug fix release."> + <release version="2.3.0" date="2018-MM-DD" description="This is a bug fix release."> <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. </action> @@ -70,6 +70,9 @@ The <action> type attribute can be add,update,fix,remove. <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> </release> <release version="2.2.0" date="2017-12-DD" description="This is a minor release, including bug fixes and enhancements."> <action dev="ggregory" type="fix" issue="DBCP-481" due-to="Gary Gregory"> http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/52264627/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java b/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java index d7b7540..0ce64b4 100644 --- a/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java +++ b/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java @@ -98,7 +98,26 @@ public class PerUserPoolDataSource extends InstanceKeyDataSource { } /** - * Closes pool(s) being maintained by this datasource. + * Clears pool(s) maintained by this data source. + * + * @see org.apache.commons.pool2.ObjectPool#clear() + * @since 2.3.0 + */ + public void clear() { + for (final PooledConnectionManager manager : managers.values()) { + try { + ((CPDSConnectionFactory) manager).getPool().clear(); + } catch (final Exception closePoolException) { + //ignore and try to close others. + } + } + InstanceKeyDataSourceFactory.removeInstance(getInstanceKey()); + } + + /** + * Closes pool(s) maintained by this data source. + * + * @see org.apache.commons.pool2.ObjectPool#close() */ @Override public void close() {
