You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2018/04/18 23:41:01 UTC

commons-dbcp git commit: [DBCP-487] Add API org.apache.commons.dbcp2.datasources.PerUserPoolDataSource.clear().

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 <ga...@gmail.com>
Authored: Wed Apr 18 17:40:59 2018 -0600
Committer: Gary Gregory <ga...@gmail.com>
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() {