This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch POOL_2_X
in repository https://gitbox.apache.org/repos/asf/commons-pool.git


The following commit(s) were added to refs/heads/POOL_2_X by this push:
     new 9d2f4af1 Add Duration named APIs and deprecate old APIs.
9d2f4af1 is described below

commit 9d2f4af14dde121271c1bb862d4b1f236072eb2a
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Jul 18 10:25:03 2023 -0400

    Add Duration named APIs and
    deprecate old APIs.
    
    Eases migration to 3.0.0
---
 .../commons/pool2/impl/BaseGenericObjectPool.java  | 102 +++++++++++++++++----
 .../commons/pool2/impl/BaseObjectPoolConfig.java   |  32 ++++++-
 .../commons/pool2/impl/GenericKeyedObjectPool.java |   2 +-
 .../commons/pool2/impl/GenericObjectPool.java      |   2 +-
 .../apache/commons/pool2/ObjectPoolIssue326.java   |   2 +
 .../java/org/apache/commons/pool2/PoolTest.java    |   2 +-
 .../pool2/impl/TestAbandonedKeyedObjectPool.java   |   2 +-
 .../pool2/impl/TestAbandonedObjectPool.java        |   2 +-
 .../pool2/impl/TestGenericKeyedObjectPool.java     |   5 +-
 .../commons/pool2/impl/TestGenericObjectPool.java  |   6 +-
 .../impl/TestGenericObjectPoolClassLoaders.java    |   4 +-
 .../TestGenericObjectPoolFactoryCreateFailure.java |   3 +-
 12 files changed, 131 insertions(+), 33 deletions(-)

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 4277ce86..fc95ba32 100644
--- a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
@@ -867,7 +867,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Gets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}). When non-positive,
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}). When 
non-positive,
      * no objects will be evicted from the pool due to idle time alone.
      *
      * @return minimum amount of time an object may sit idle in the pool before
@@ -884,7 +884,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Gets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}). When non-positive,
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}). When 
non-positive,
      * no objects will be evicted from the pool due to idle time alone.
      *
      * @return minimum amount of time an object may sit idle in the pool before
@@ -1017,7 +1017,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Gets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}),
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}),
      * with the extra condition that at least {@code minIdle} object
      * instances remain in the pool. This setting is overridden by
      * {@link #getMinEvictableIdleTime} (that is, if
@@ -1027,7 +1027,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      * @return minimum amount of time an object may sit idle in the pool before
      *         it is eligible for eviction if minIdle instances are available
      *
-     * @see #setSoftMinEvictableIdle(Duration)
+     * @see #setSoftMinEvictableIdleDuration(Duration)
      * @since 2.11.0
      */
     public final Duration getSoftMinEvictableIdleDuration() {
@@ -1037,7 +1037,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Gets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}),
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}),
      * with the extra condition that at least {@code minIdle} object
      * instances remain in the pool. This setting is overridden by
      * {@link #getMinEvictableIdleTime} (that is, if
@@ -1047,7 +1047,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      * @return minimum amount of time an object may sit idle in the pool before
      *         it is eligible for eviction if minIdle instances are available
      *
-     * @see #setSoftMinEvictableIdle(Duration)
+     * @see #setSoftMinEvictableIdleDuration(Duration)
      * @since 2.10.0
      * @deprecated Use {@link #getSoftMinEvictableIdleDuration}.
      */
@@ -1175,7 +1175,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Gets whether objects sitting idle in the pool will be validated by the
      * idle object evictor (if any - see
-     * {@link #setTimeBetweenEvictionRuns(Duration)}). Validation is performed
+     * {@link #setDurationBetweenEvictionRuns(Duration)}). Validation is 
performed
      * by the {@code validateObject()} method of the factory associated
      * with the pool. If the object fails to validate, it will be removed from
      * the pool and destroyed.
@@ -1369,9 +1369,9 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
         setTestOnReturn(config.getTestOnReturn());
         setTestWhileIdle(config.getTestWhileIdle());
         setNumTestsPerEvictionRun(config.getNumTestsPerEvictionRun());
-        setMinEvictableIdle(config.getMinEvictableIdleDuration());
-        setTimeBetweenEvictionRuns(config.getDurationBetweenEvictionRuns());
-        setSoftMinEvictableIdle(config.getSoftMinEvictableIdleDuration());
+        setMinEvictableIdleDuration(config.getMinEvictableIdleDuration());
+        
setDurationBetweenEvictionRuns(config.getDurationBetweenEvictionRuns());
+        
setSoftMinEvictableIdleDuration(config.getSoftMinEvictableIdleDuration());
         final EvictionPolicy<T> policy = config.getEvictionPolicy();
         if (policy == null) {
             // Use the class name (pre-2.6.0 compatible)
@@ -1383,6 +1383,24 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
         setEvictorShutdownTimeout(config.getEvictorShutdownTimeoutDuration());
     }
 
+    /**
+     * Sets the number of milliseconds to sleep between runs of the idle 
object evictor thread.
+     * <ul>
+     * <li>When positive, the idle object evictor thread starts.</li>
+     * <li>When non-positive, no idle object evictor thread runs.</li>
+     * </ul>
+     *
+     * @param timeBetweenEvictionRuns
+     *            duration to sleep between evictor runs
+     *
+     * @see #getDurationBetweenEvictionRuns()
+     * @since 2.12.0
+     */
+    public final void setDurationBetweenEvictionRuns(final Duration 
timeBetweenEvictionRuns) {
+        this.durationBetweenEvictionRuns = 
PoolImplUtils.nonNull(timeBetweenEvictionRuns, 
BaseObjectPoolConfig.DEFAULT_DURATION_BETWEEN_EVICTION_RUNS);
+        startEvictor(this.durationBetweenEvictionRuns);
+    }
+
     /**
      * Sets the eviction policy for this pool.
      *
@@ -1585,7 +1603,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Sets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}). When non-positive,
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}). When 
non-positive,
      * no objects will be evicted from the pool due to idle time alone.
      *
      * @param minEvictableIdleTime
@@ -1595,7 +1613,9 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      * @see #getMinEvictableIdleTime
      * @see #setTimeBetweenEvictionRuns
      * @since 2.11.0
+     * @deprecated Use {@link #setMinEvictableIdleDuration(Duration)}.
      */
+    @Deprecated
     public final void setMinEvictableIdle(final Duration minEvictableIdleTime) 
{
         this.minEvictableIdleDuration = 
PoolImplUtils.nonNull(minEvictableIdleTime, 
BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_DURATION);
     }
@@ -1603,7 +1623,25 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Sets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}). When non-positive,
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}). When 
non-positive,
+     * no objects will be evicted from the pool due to idle time alone.
+     *
+     * @param minEvictableIdleTime
+     *            minimum amount of time an object may sit idle in the pool
+     *            before it is eligible for eviction
+     *
+     * @see #getMinEvictableIdleTime
+     * @see #setTimeBetweenEvictionRuns
+     * @since 2.12.0
+     */
+    public final void setMinEvictableIdleDuration(final Duration 
minEvictableIdleTime) {
+        this.minEvictableIdleDuration = 
PoolImplUtils.nonNull(minEvictableIdleTime, 
BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_DURATION);
+    }
+
+    /**
+     * Sets the minimum amount of time an object may sit idle in the pool
+     * before it is eligible for eviction by the idle object evictor (if any -
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}). When 
non-positive,
      * no objects will be evicted from the pool due to idle time alone.
      *
      * @param minEvictableIdleTime
@@ -1613,7 +1651,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      * @see #getMinEvictableIdleTime
      * @see #setTimeBetweenEvictionRuns
      * @since 2.10.0
-     * @deprecated Use {@link #setMinEvictableIdle(Duration)}.
+     * @deprecated Use {@link #setMinEvictableIdleDuration(Duration)}.
      */
     @Deprecated
     public final void setMinEvictableIdleTime(final Duration 
minEvictableIdleTime) {
@@ -1662,7 +1700,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Sets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}),
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}),
      * with the extra condition that at least {@code minIdle} object
      * instances remain in the pool. This setting is overridden by
      * {@link #getMinEvictableIdleTime} (that is, if
@@ -1676,7 +1714,9 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      *
      * @see #getSoftMinEvictableIdleTimeMillis
      * @since 2.11.0
+     * @deprecated Use {@link #setSoftMinEvictableIdleDuration(Duration)}.
      */
+    @Deprecated
     public final void setSoftMinEvictableIdle(final Duration 
softMinEvictableIdleTime) {
         this.softMinEvictableIdleDuration = 
PoolImplUtils.nonNull(softMinEvictableIdleTime, 
BaseObjectPoolConfig.DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION);
     }
@@ -1684,7 +1724,29 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Sets the minimum amount of time an object may sit idle in the pool
      * before it is eligible for eviction by the idle object evictor (if any -
-     * see {@link #setTimeBetweenEvictionRuns(Duration)}),
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}),
+     * with the extra condition that at least {@code minIdle} object
+     * instances remain in the pool. This setting is overridden by
+     * {@link #getMinEvictableIdleTime} (that is, if
+     * {@link #getMinEvictableIdleTime} is positive, then
+     * {@link #getSoftMinEvictableIdleTime} is ignored).
+     *
+     * @param softMinEvictableIdleTime
+     *            minimum amount of time an object may sit idle in the pool
+     *            before it is eligible for eviction if minIdle instances are
+     *            available
+     *
+     * @see #getSoftMinEvictableIdleTimeMillis
+     * @since 2.12.0
+     */
+    public final void setSoftMinEvictableIdleDuration(final Duration 
softMinEvictableIdleTime) {
+        this.softMinEvictableIdleDuration = 
PoolImplUtils.nonNull(softMinEvictableIdleTime, 
BaseObjectPoolConfig.DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION);
+    }
+
+    /**
+     * Sets the minimum amount of time an object may sit idle in the pool
+     * before it is eligible for eviction by the idle object evictor (if any -
+     * see {@link #setDurationBetweenEvictionRuns(Duration)}),
      * with the extra condition that at least {@code minIdle} object
      * instances remain in the pool. This setting is overridden by
      * {@link #getMinEvictableIdleTime} (that is, if
@@ -1698,7 +1760,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      *
      * @see #getSoftMinEvictableIdleTimeMillis
      * @since 2.10.0
-     * @deprecated Use {@link #setSoftMinEvictableIdle(Duration)}.
+     * @deprecated Use {@link #setSoftMinEvictableIdleDuration(Duration)}.
      */
     @Deprecated
     public final void setSoftMinEvictableIdleTime(final Duration 
softMinEvictableIdleTime) {
@@ -1721,7 +1783,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      *            available
      *
      * @see #getSoftMinEvictableIdleTimeMillis
-     * @deprecated Use {@link #setSoftMinEvictableIdle(Duration)}.
+     * @deprecated Use {@link #setSoftMinEvictableIdleDuration(Duration)}.
      */
     @Deprecated
     public final void setSoftMinEvictableIdleTimeMillis(final long 
softMinEvictableIdleTimeMillis) {
@@ -1797,7 +1859,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     /**
      * Sets whether objects sitting idle in the pool will be validated by the
      * idle object evictor (if any - see
-     * {@link #setTimeBetweenEvictionRuns(Duration)}). Validation is performed
+     * {@link #setDurationBetweenEvictionRuns(Duration)}). Validation is 
performed
      * by the {@code validateObject()} method of the factory associated
      * with the pool. If the object fails to validate, it will be removed from
      * the pool and destroyed.  Note that setting this property has no effect
@@ -1826,7 +1888,9 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      *
      * @see #getDurationBetweenEvictionRuns()
      * @since 2.10.0
+     * @deprecated Use {@link #setDurationBetweenEvictionRuns(Duration)}.
      */
+    @Deprecated
     public final void setTimeBetweenEvictionRuns(final Duration 
timeBetweenEvictionRuns) {
         this.durationBetweenEvictionRuns = 
PoolImplUtils.nonNull(timeBetweenEvictionRuns, 
BaseObjectPoolConfig.DEFAULT_DURATION_BETWEEN_EVICTION_RUNS);
         startEvictor(this.durationBetweenEvictionRuns);
@@ -1843,7 +1907,7 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
      *            number of milliseconds to sleep between evictor runs
      *
      * @see #getDurationBetweenEvictionRuns()
-     * @deprecated Use {@link #setTimeBetweenEvictionRuns(Duration)}.
+     * @deprecated Use {@link #setDurationBetweenEvictionRuns(Duration)}.
      */
     @Deprecated
     public final void setTimeBetweenEvictionRunsMillis(final long 
timeBetweenEvictionRunsMillis) {
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/BaseObjectPoolConfig.java 
b/src/main/java/org/apache/commons/pool2/impl/BaseObjectPoolConfig.java
index 101e17e9..7c72fa26 100644
--- a/src/main/java/org/apache/commons/pool2/impl/BaseObjectPoolConfig.java
+++ b/src/main/java/org/apache/commons/pool2/impl/BaseObjectPoolConfig.java
@@ -762,6 +762,18 @@ public abstract class BaseObjectPoolConfig<T> extends 
BaseObject implements Clon
         setMaxWait(Duration.ofMillis(maxWaitMillis));
     }
 
+    /**
+     * Sets the value for the {@code minEvictableIdleTime} configuration 
attribute for pools created with this configuration instance.
+     *
+     * @param minEvictableIdleTime The new setting of {@code 
minEvictableIdleTime} for this configuration instance
+     * @see GenericObjectPool#getMinEvictableIdleDuration()
+     * @see GenericKeyedObjectPool#getMinEvictableIdleDuration()
+     * @since 2.12.0
+     */
+    public void setMinEvictableIdleDuration(final Duration 
minEvictableIdleTime) {
+        this.minEvictableIdleDuration = 
PoolImplUtils.nonNull(minEvictableIdleTime, DEFAULT_MIN_EVICTABLE_IDLE_TIME);
+    }
+
     /**
      * Sets the value for the {@code minEvictableIdleTime} configuration 
attribute for pools created with this configuration instance.
      *
@@ -769,7 +781,9 @@ public abstract class BaseObjectPoolConfig<T> extends 
BaseObject implements Clon
      * @see GenericObjectPool#getMinEvictableIdleDuration()
      * @see GenericKeyedObjectPool#getMinEvictableIdleDuration()
      * @since 2.10.0
+     * @deprecated Use {@link #setMinEvictableIdleDuration(Duration)}.
      */
+    @Deprecated
     public void setMinEvictableIdleTime(final Duration minEvictableIdleTime) {
         this.minEvictableIdleDuration = 
PoolImplUtils.nonNull(minEvictableIdleTime, DEFAULT_MIN_EVICTABLE_IDLE_TIME);
     }
@@ -780,7 +794,7 @@ public abstract class BaseObjectPoolConfig<T> extends 
BaseObject implements Clon
      * @param minEvictableIdleTimeMillis The new setting of {@code 
minEvictableIdleTime} for this configuration instance
      * @see GenericObjectPool#getMinEvictableIdleDuration()
      * @see GenericKeyedObjectPool#getMinEvictableIdleDuration()
-     * @deprecated Use {@link #setMinEvictableIdleTime(Duration)}.
+     * @deprecated Use {@link #setMinEvictableIdleDuration(Duration)}.
      */
     @Deprecated
     public void setMinEvictableIdleTimeMillis(final long 
minEvictableIdleTimeMillis) {
@@ -798,6 +812,18 @@ public abstract class BaseObjectPoolConfig<T> extends 
BaseObject implements Clon
         this.numTestsPerEvictionRun = numTestsPerEvictionRun;
     }
 
+    /**
+     * Sets the value for the {@code softMinEvictableIdleTime} configuration 
attribute for pools created with this configuration instance.
+     *
+     * @param softMinEvictableIdleTime The new setting of {@code 
softMinEvictableIdleTime} for this configuration instance
+     * @see GenericObjectPool#getSoftMinEvictableIdleDuration()
+     * @see GenericKeyedObjectPool#getSoftMinEvictableIdleDuration()
+     * @since 2.12.0
+     */
+    public void setSoftMinEvictableIdleDuration(final Duration 
softMinEvictableIdleTime) {
+        this.softMinEvictableIdleDuration = 
PoolImplUtils.nonNull(softMinEvictableIdleTime, 
DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME);
+    }
+
     /**
      * Sets the value for the {@code softMinEvictableIdleTime} configuration 
attribute for pools created with this configuration instance.
      *
@@ -805,7 +831,9 @@ public abstract class BaseObjectPoolConfig<T> extends 
BaseObject implements Clon
      * @see GenericObjectPool#getSoftMinEvictableIdleDuration()
      * @see GenericKeyedObjectPool#getSoftMinEvictableIdleDuration()
      * @since 2.10.0
+     * @deprecated Use {@link #setSoftMinEvictableIdleDuration(Duration)}.
      */
+    @Deprecated
     public void setSoftMinEvictableIdleTime(final Duration 
softMinEvictableIdleTime) {
         this.softMinEvictableIdleDuration = 
PoolImplUtils.nonNull(softMinEvictableIdleTime, 
DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME);
     }
@@ -816,7 +844,7 @@ public abstract class BaseObjectPoolConfig<T> extends 
BaseObject implements Clon
      * @param softMinEvictableIdleTimeMillis The new setting of {@code 
softMinEvictableIdleTime} for this configuration instance
      * @see GenericObjectPool#getSoftMinEvictableIdleDuration()
      * @see GenericKeyedObjectPool#getSoftMinEvictableIdleDuration()
-     * @deprecated Use {@link #setSoftMinEvictableIdleTime(Duration)}.
+     * @deprecated Use {@link #setSoftMinEvictableIdleDuration(Duration)}.
      */
     @Deprecated
     public void setSoftMinEvictableIdleTimeMillis(final long 
softMinEvictableIdleTimeMillis) {
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
index eb1b24c9..2ceea0f5 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
@@ -1678,7 +1678,7 @@ public class GenericKeyedObjectPool<K, T> extends 
BaseGenericObjectPool<T>
      *
      * @see #getMinIdlePerKey()
      * @see #getMaxIdlePerKey()
-     * @see #setTimeBetweenEvictionRuns(Duration)
+     * @see #setDurationBetweenEvictionRuns(Duration)
      */
     public void setMinIdlePerKey(final int minIdlePerKey) {
         this.minIdlePerKey = minIdlePerKey;
diff --git a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
index 2de037e8..b638da77 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
@@ -858,7 +858,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
      *
      * @see #setMinIdle(int)
      * @see #setMaxIdle(int)
-     * @see #setTimeBetweenEvictionRuns(Duration)
+     * @see #setDurationBetweenEvictionRuns(Duration)
      */
     @Override
     public int getMinIdle() {
diff --git a/src/test/java/org/apache/commons/pool2/ObjectPoolIssue326.java 
b/src/test/java/org/apache/commons/pool2/ObjectPoolIssue326.java
index d49e3ce2..cf864617 100644
--- a/src/test/java/org/apache/commons/pool2/ObjectPoolIssue326.java
+++ b/src/test/java/org/apache/commons/pool2/ObjectPoolIssue326.java
@@ -118,7 +118,9 @@ public final class ObjectPoolIssue326 {
         poolConfig.setLifo(true);
         poolConfig.setFairness(true);
         poolConfig.setMaxWait(Duration.ofSeconds(30));
+        poolConfig.setMinEvictableIdleDuration(Duration.ofMillis(-1));
         poolConfig.setMinEvictableIdleTime(Duration.ofMillis(-1));
+        poolConfig.setSoftMinEvictableIdleDuration(Duration.ofMillis(-1));
         poolConfig.setSoftMinEvictableIdleTime(Duration.ofMillis(-1));
         poolConfig.setNumTestsPerEvictionRun(1);
         poolConfig.setTestOnCreate(false);
diff --git a/src/test/java/org/apache/commons/pool2/PoolTest.java 
b/src/test/java/org/apache/commons/pool2/PoolTest.java
index 973dbc58..7ecfcd18 100644
--- a/src/test/java/org/apache/commons/pool2/PoolTest.java
+++ b/src/test/java/org/apache/commons/pool2/PoolTest.java
@@ -79,7 +79,7 @@ public class PoolTest {
             pool.setTimeBetweenEvictionRunsMillis(EVICTION_PERIOD_IN_MILLIS);
             assertEquals(EVICTION_PERIOD_IN_MILLIS, 
pool.getDurationBetweenEvictionRuns().toMillis());
             assertEquals(EVICTION_PERIOD_IN_MILLIS, 
pool.getTimeBetweenEvictionRuns().toMillis());
-            
pool.setTimeBetweenEvictionRuns(Duration.ofMillis(EVICTION_PERIOD_IN_MILLIS));
+            
pool.setDurationBetweenEvictionRuns(Duration.ofMillis(EVICTION_PERIOD_IN_MILLIS));
             assertEquals(EVICTION_PERIOD_IN_MILLIS, 
pool.getTimeBetweenEvictionRuns().toMillis());
             pool.addObject();
             try {
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestAbandonedKeyedObjectPool.java 
b/src/test/java/org/apache/commons/pool2/impl/TestAbandonedKeyedObjectPool.java
index fb343f45..aa09ffb2 100644
--- 
a/src/test/java/org/apache/commons/pool2/impl/TestAbandonedKeyedObjectPool.java
+++ 
b/src/test/java/org/apache/commons/pool2/impl/TestAbandonedKeyedObjectPool.java
@@ -205,7 +205,7 @@ public class TestAbandonedKeyedObjectPool {
         final int n = 10;
         pool.setMaxTotal(n);
         pool.setBlockWhenExhausted(false);
-        pool.setTimeBetweenEvictionRuns(Duration.ofMillis(250));
+        pool.setDurationBetweenEvictionRuns(Duration.ofMillis(250));
         PooledTestObject pooledObj = null;
         final Integer key = 0;
         for (int i = 0; i < 5; i++) {
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java 
b/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java
index 4fee6142..1f13de22 100644
--- a/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java
+++ b/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java
@@ -286,7 +286,7 @@ public class TestAbandonedObjectPool {
         final int n = 10;
         pool.setMaxTotal(n);
         pool.setBlockWhenExhausted(false);
-        pool.setTimeBetweenEvictionRuns(Duration.ofMillis(500));
+        pool.setDurationBetweenEvictionRuns(Duration.ofMillis(500));
         PooledTestObject obj = null;
         for (int i = 0; i < 5; i++) {
             obj = pool.borrowObject();
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java
index 23dc741f..ff24933a 100644
--- 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java
+++ 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java
@@ -1426,6 +1426,7 @@ public class TestGenericKeyedObjectPool extends 
AbstractTestKeyedObjectPool {
         config.setMinIdlePerKey(minIdle);
         config.setMaxTotal(maxTotal);
         config.setMaxWait(maxWaitDuration);
+        
config.setMinEvictableIdleDuration(Duration.ofMillis(minEvictableIdleTimeMillis));
         
config.setMinEvictableIdleTime(Duration.ofMillis(minEvictableIdleTimeMillis));
         config.setNumTestsPerEvictionRun(numTestsPerEvictionRun);
         config.setTestOnBorrow(testOnBorrow);
@@ -1463,7 +1464,7 @@ public class TestGenericKeyedObjectPool extends 
AbstractTestKeyedObjectPool {
     public void testContructorEvictionConfig() throws Exception {
         final GenericKeyedObjectPoolConfig<String> config = new 
GenericKeyedObjectPoolConfig<>();
         config.setTimeBetweenEvictionRuns(Duration.ofMillis(500));
-        config.setMinEvictableIdleTime(Duration.ofMillis(50));
+        config.setMinEvictableIdleDuration(Duration.ofMillis(50));
         config.setNumTestsPerEvictionRun(5);
         try (final GenericKeyedObjectPool<String, String> p = new 
GenericKeyedObjectPool<>(simpleFactory, config)) {
             for (int i = 0; i < 5; i++) {
@@ -1501,7 +1502,7 @@ public class TestGenericKeyedObjectPool extends 
AbstractTestKeyedObjectPool {
         gkoPool.setMaxTotalPerKey(500);
         gkoPool.setNumTestsPerEvictionRun(100);
         gkoPool.setMinEvictableIdleTime(Duration.ofMillis(250));
-        gkoPool.setTimeBetweenEvictionRuns(Duration.ofMillis(500));
+        gkoPool.setDurationBetweenEvictionRuns(Duration.ofMillis(500));
 
         final String[] active = new String[500];
         for(int i=0;i<500;i++) {
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
index 01a1945b..521d7c54 100644
--- a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
+++ b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
@@ -648,6 +648,7 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
 
     private void checkEvict(final boolean lifo) throws Exception {
         // yea this is hairy but it tests all the code paths in GOP.evict()
+        
genericObjectPool.setSoftMinEvictableIdleDuration(Duration.ofMillis(10));
         genericObjectPool.setSoftMinEvictableIdle(Duration.ofMillis(10));
         genericObjectPool.setSoftMinEvictableIdleTime(Duration.ofMillis(10));
         genericObjectPool.setMinIdle(2);
@@ -978,7 +979,7 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
         final GenericObjectPoolConfig<String> config = new 
GenericObjectPoolConfig<>();
         config.setJmxEnabled(false);
         GenericObjectPool<String> abandoned = new 
GenericObjectPool<>(simpleFactory, config);
-        abandoned.setTimeBetweenEvictionRuns(Duration.ofMillis(100)); // 
Starts evictor
+        abandoned.setDurationBetweenEvictionRuns(Duration.ofMillis(100)); // 
Starts evictor
         assertEquals(abandoned.getRemoveAbandonedTimeout(), 
abandoned.getRemoveAbandonedTimeoutDuration().getSeconds());
 
         // This is ugly, but forces GC to hit the pool
@@ -1687,6 +1688,7 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
             timePool.setMaxIdle(5);
             timePool.setMaxTotal(5);
             timePool.setNumTestsPerEvictionRun(5);
+            timePool.setMinEvictableIdleDuration(Duration.ofSeconds(3));
             timePool.setMinEvictableIdle(Duration.ofSeconds(3));
             timePool.setMinEvictableIdleTime(Duration.ofSeconds(3));
             
timePool.setSoftMinEvictableIdleTime(TestConstants.ONE_SECOND_DURATION);
@@ -2703,7 +2705,7 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
         expected.setMaxTotal(2);
         expected.setMaxIdle(3);
         expected.setMaxWait(Duration.ofMillis(5));
-        expected.setMinEvictableIdleTime(Duration.ofMillis(7L));
+        expected.setMinEvictableIdleDuration(Duration.ofMillis(7L));
         expected.setNumTestsPerEvictionRun(9);
         expected.setTestOnCreate(true);
         expected.setTestOnBorrow(true);
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java
 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java
index 4e40b358..851b741b 100644
--- 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java
+++ 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java
@@ -83,7 +83,7 @@ public class TestGenericObjectPoolClassLoaders {
             final CustomClassLoaderObjectFactory factory1 = new 
CustomClassLoaderObjectFactory(1);
             try (final GenericObjectPool<URL> pool1 = new 
GenericObjectPool<>(factory1)) {
                 pool1.setMinIdle(1);
-                pool1.setTimeBetweenEvictionRuns(Duration.ofMillis(100));
+                pool1.setDurationBetweenEvictionRuns(Duration.ofMillis(100));
                 int counter = 0;
                 while (counter < 50 && pool1.getNumIdle() != 1) {
                     Thread.sleep(100);
@@ -101,7 +101,7 @@ public class TestGenericObjectPoolClassLoaders {
                         assertEquals(1, pool2.getNumIdle(), "Wrong number of 
idle objects in pool2");
                         pool2.clear();
 
-                        
pool2.setTimeBetweenEvictionRuns(Duration.ofMillis(100));
+                        
pool2.setDurationBetweenEvictionRuns(Duration.ofMillis(100));
 
                         counter = 0;
                         while (counter < 50 && pool2.getNumIdle() != 1) {
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
index 6bb1b6f4..6d965414 100644
--- 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
+++ 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
@@ -110,7 +110,8 @@ public class TestGenericObjectPoolFactoryCreateFailure {
         config.setTestWhileIdle(false);
         config.setTimeBetweenEvictionRuns(NEG_ONE_DURATION);
         config.setMinEvictableIdleTime(NEG_ONE_DURATION);
-        config.setSoftMinEvictableIdleTime(NEG_ONE_DURATION);
+        config.setMinEvictableIdleDuration(NEG_ONE_DURATION);
+        config.setSoftMinEvictableIdleDuration(NEG_ONE_DURATION);
 
         config.setMaxWait(NEG_ONE_DURATION);
         try (GenericObjectPool<Object> pool = new GenericObjectPool<>(factory, 
config)) {

Reply via email to