fix bug noted by Patrice Thiebaud, in which Evictor (when running) would evict all object when _minEvictableIdleTime is non-positive
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/pool/trunk@139633 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java b/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
index fad740a..583268e 100644
--- a/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
+++ b/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
@@ -1,7 +1,7 @@
/*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java,v 1.5 2002/05/01 14:43:15 rwaldhoff Exp $
- * $Revision: 1.5 $
- * $Date: 2002/05/01 14:43:15 $
+ * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java,v 1.6 2002/08/10 21:13:26 rwaldhoff Exp $
+ * $Revision: 1.6 $
+ * $Date: 2002/08/10 21:13:26 $
*
* ====================================================================
*
@@ -161,7 +161,7 @@
* </ul>
* @see GenericObjectPool
* @author Rodney Waldhoff
- * @version $Id: GenericKeyedObjectPool.java,v 1.5 2002/05/01 14:43:15 rwaldhoff Exp $
+ * @version $Id: GenericKeyedObjectPool.java,v 1.6 2002/08/10 21:13:26 rwaldhoff Exp $
*/
public class GenericKeyedObjectPool extends BaseKeyedObjectPool implements KeyedObjectPool {
@@ -1046,7 +1046,8 @@
// if the objcursor has a previous object, then test it
if(objcursor.hasPrevious()) {
ObjectTimestampPair pair = (ObjectTimestampPair)(objcursor.previous());
- if(System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
+ if(_minEvictableIdleTimeMillis > 0 &&
+ System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
try {
objcursor.remove();
_totalIdle--;
diff --git a/src/java/org/apache/commons/pool/impl/GenericObjectPool.java b/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
index 8c09592..54351b4 100644
--- a/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
+++ b/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
@@ -1,7 +1,7 @@
/*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericObjectPool.java,v 1.5 2002/05/01 06:02:34 rwaldhoff Exp $
- * $Revision: 1.5 $
- * $Date: 2002/05/01 06:02:34 $
+ * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericObjectPool.java,v 1.6 2002/08/10 21:13:26 rwaldhoff Exp $
+ * $Revision: 1.6 $
+ * $Date: 2002/08/10 21:13:26 $
*
* ====================================================================
*
@@ -159,7 +159,7 @@
* </ul>
* @see GenericKeyedObjectPool
* @author Rodney Waldhoff
- * @version $Revision: 1.5 $ $Date: 2002/05/01 06:02:34 $
+ * @version $Revision: 1.6 $ $Date: 2002/08/10 21:13:26 $
*/
public class GenericObjectPool extends BaseObjectPool implements ObjectPool {
@@ -918,13 +918,14 @@
cursor = (CursorableLinkedList.Cursor)(_pool.cursor(_pool.size()));
} else {
ObjectTimestampPair pair = (ObjectTimestampPair)(cursor.previous());
- if(System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
- try {
- cursor.remove();
- _factory.destroyObject(pair.value);
- } catch(Exception e) {
- ; // ignored
- }
+ if(_minEvictableIdleTimeMillis > 0 &&
+ System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
+ try {
+ cursor.remove();
+ _factory.destroyObject(pair.value);
+ } catch(Exception e) {
+ ; // ignored
+ }
} else if(_testWhileIdle) {
boolean active = false;
try {