Class DefaultEvictionPolicy<T>
java.lang.Object
org.apache.tomcat.dbcp.pool2.impl.DefaultEvictionPolicy<T>
- Type Parameters:
T
- the type of objects in the pool
- All Implemented Interfaces:
EvictionPolicy<T>
Provides the default implementation of
EvictionPolicy
used by the
pools. Objects will be evicted if the following conditions are met:
- the object has been idle longer than
BaseGenericObjectPool.getMinEvictableIdleTimeMillis()
/BaseGenericObjectPool.getMinEvictableIdleTimeMillis()
- there are more than
GenericObjectPool.getMinIdle()
/GenericKeyedObjectPoolConfig.getMinIdlePerKey()
idle objects in the pool and the object has been idle for longer thanBaseGenericObjectPool.getSoftMinEvictableIdleTimeMillis()
/BaseGenericObjectPool.getSoftMinEvictableIdleTimeMillis()
This class is immutable and thread-safe.
- Since:
- 2.0
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
evict
(EvictionConfig config, PooledObject<T> underTest, int idleCount) This method is called to test if an idle object in the pool should be evicted or not.
-
Constructor Details
-
DefaultEvictionPolicy
public DefaultEvictionPolicy()
-
-
Method Details
-
evict
Description copied from interface:EvictionPolicy
This method is called to test if an idle object in the pool should be evicted or not.- Specified by:
evict
in interfaceEvictionPolicy<T>
- Parameters:
config
- The pool configuration settings related to evictionunderTest
- The pooled object being tested for evictionidleCount
- The current number of idle objects in the pool including the object under test- Returns:
true
if the object should be evicted, otherwisefalse
-