Additional fix for POOL-315.
Thanks to Keiichi Fujino
Also review previous fix.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/pool/trunk@1769582 
13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/commons-pool/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-pool/commit/b48c9f52
Tree: http://git-wip-us.apache.org/repos/asf/commons-pool/tree/b48c9f52
Diff: http://git-wip-us.apache.org/repos/asf/commons-pool/diff/b48c9f52

Branch: refs/heads/master
Commit: b48c9f52be991f280bff592dd49c1fd0de2b080a
Parents: 741d1f5
Author: Mark Thomas <ma...@apache.org>
Authored: Mon Nov 14 09:44:18 2016 +0000
Committer: Mark Thomas <ma...@apache.org>
Committed: Mon Nov 14 09:44:18 2016 +0000

----------------------------------------------------------------------
 src/changes/changes.xml                                      | 2 +-
 .../org/apache/commons/pool2/impl/BaseGenericObjectPool.java | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-pool/blob/b48c9f52/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index ae14e69..545e1b7 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -71,7 +71,7 @@ The <action> type attribute can be add,update,fix,remove.
       Ensure that any class name used for evictionPolicyClassName represents a
       class that implements EvictionPolicy.
     </action>
-    <action dev="markt" issue="POOL-315" type="fix">
+    <action dev="markt" issue="POOL-315" type="fix" due-to="KeiichiFujino">
       Add a configurable delay (default 10 seconds) to wait when shutting down
       an Evictor to allow the associated thread time to complete and current
       evictions and to terminate.

http://git-wip-us.apache.org/repos/asf/commons-pool/blob/b48c9f52/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
index 1f46811..816e0d6 100644
--- a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
@@ -88,7 +88,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject {
     private volatile long softMinEvictableIdleTimeMillis =
             BaseObjectPoolConfig.DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS;
     private volatile EvictionPolicy<T> evictionPolicy;
-    private long evictorShutdownTimeoutMillis =
+    private volatile long evictorShutdownTimeoutMillis =
             BaseObjectPoolConfig.DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT_MILLIS;
 
 
@@ -643,7 +643,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject {
      * @return  The timeout in milliseconds that will be used while waiting for
      *          the Evictor to shut down.
      */
-    public long getEvictorShutdownTimeoutMillis() {
+    public final long getEvictorShutdownTimeoutMillis() {
         return evictorShutdownTimeoutMillis;
     }
 
@@ -656,7 +656,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject {
      *                                      will be used while waiting for the
      *                                      Evictor to shut down.
      */
-    public void setEvictorShutdownTimeoutMillis(
+    public final void setEvictorShutdownTimeoutMillis(
             final long evictorShutdownTimeoutMillis) {
         this.evictorShutdownTimeoutMillis = evictorShutdownTimeoutMillis;
     }
@@ -720,7 +720,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject {
     final void startEvictor(final long delay) {
         synchronized (evictionLock) {
             if (null != evictor) {
-                EvictionTimer.cancel(evictor, 10, TimeUnit.SECONDS);
+                EvictionTimer.cancel(evictor, evictorShutdownTimeoutMillis, 
TimeUnit.SECONDS);
                 evictor = null;
                 evictionIterator = null;
             }

Reply via email to