public class GenericObjectPool extends Object implements ObjectPool
| 限定符和类型 | 类和说明 |
|---|---|
(专用程序包) class |
GenericObjectPool.CheckIdleSizeTask |
(专用程序包) class |
GenericObjectPool.CheckObjectExpiredTask |
(专用程序包) static class |
GenericObjectPool.PooledObject
PooledObject
|
(专用程序包) class |
GenericObjectPool.TestWhileIdleTask |
| 限定符和类型 | 字段和说明 |
|---|---|
private LinkedList<Object> |
busyQueue |
private long |
checkIdleSizeInterval |
private boolean |
checkObjectExpired |
private long |
checkObjectExpiredInterval |
private Condition |
condition |
private LinkedList<Object> |
idleQueue |
private Comparator<Object> |
idleQueueSorter |
private Lock |
lock |
private static Log |
log |
private int |
maxIdleSize |
private int |
maxPoolSize |
private int |
maxTestTimes |
private int |
maxUsage |
private long |
maxWaitTimeForExpiration |
private int |
minIdleSize |
private ObjectFactory |
objectFactory |
private IdentityHashMap<Object,GenericObjectPool.PooledObject> |
pooledObjects |
private int |
poolSize |
private AtomicBoolean |
running |
private boolean |
testWhileIdle |
private long |
testWhileIdleInterval |
private ScheduledExecutorService |
timer |
| 构造器和说明 |
|---|
GenericObjectPool(ObjectFactory objectFactory) |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
borrowObject()
Borrow one from pool until it's available.
|
Object |
borrowObject(long timeout)
Borrow one from pool within given time(ms).
|
Object |
borrowObject(long timeout,
TimeUnit timeUnit) |
void |
close()
Close the pool.
|
void |
discardObject(Object object)
Discard this one when it was invalid or expired.
|
int |
getBusySize() |
long |
getCheckIdleSizeInterval() |
long |
getCheckObjectExpiredInterval() |
ObjectDetail |
getDetail(Object object)
Get the pooled object's detail
|
int |
getIdleSize() |
int |
getMaxIdleSize() |
int |
getMaxPoolSize() |
int |
getMaxTestTimes() |
int |
getMaxUsage() |
long |
getMaxWaitTimeForExpiration() |
int |
getMinIdleSize() |
int |
getPoolSize() |
long |
getTestWhileIdleInterval() |
void |
givebackObject(Object object)
Give back the pooled object to pool.
|
boolean |
isCheckObjectExpired() |
boolean |
isRunning() |
boolean |
isTestWhileIdle() |
void |
setCheckIdleSizeInterval(long checkIdleSizeInterval) |
void |
setCheckObjectExpired(boolean checkObjectExpired) |
void |
setCheckObjectExpiredInterval(long checkObjectExpiredInterval) |
void |
setMaxIdleSize(int maxIdleSize) |
void |
setMaxPoolSize(int maxPoolSize) |
void |
setMaxTestTimes(int maxTestTimes) |
void |
setMaxUsage(int maxUsage) |
void |
setMaxWaitTimeForExpiration(long maxWaitTimeForExpiration) |
void |
setMinIdleSize(int minIdleSize) |
void |
setTestWhileIdle(boolean testWhileIdle) |
void |
setTestWhileIdleInterval(long testWhileIdleInterval) |
private Object |
testWhileBorrow(Object object) |
private Object |
testWhileIdle(Object object) |
private static final Log log
private final Lock lock
private final Condition condition
private final LinkedList<Object> busyQueue
private final LinkedList<Object> idleQueue
private final IdentityHashMap<Object,GenericObjectPool.PooledObject> pooledObjects
private int maxPoolSize
private int minIdleSize
private int maxIdleSize
private int maxUsage
private long checkIdleSizeInterval
private int maxTestTimes
private volatile int poolSize
private boolean testWhileIdle
private long testWhileIdleInterval
private boolean checkObjectExpired
private long checkObjectExpiredInterval
private long maxWaitTimeForExpiration
private final AtomicBoolean running
private ScheduledExecutorService timer
private final ObjectFactory objectFactory
private final Comparator<Object> idleQueueSorter
public GenericObjectPool(ObjectFactory objectFactory)
public void setMaxPoolSize(int maxPoolSize)
public int getMaxPoolSize()
public int getMaxIdleSize()
public int getMinIdleSize()
public void setMinIdleSize(int minIdleSize)
public int getIdleSize()
public int getBusySize()
public void setMaxIdleSize(int maxIdleSize)
public long getCheckIdleSizeInterval()
public void setCheckIdleSizeInterval(long checkIdleSizeInterval)
public boolean isTestWhileIdle()
public void setTestWhileIdle(boolean testWhileIdle)
public long getTestWhileIdleInterval()
public void setTestWhileIdleInterval(long testWhileIdleInterval)
public boolean isCheckObjectExpired()
public void setCheckObjectExpired(boolean checkObjectExpired)
public long getMaxWaitTimeForExpiration()
public void setMaxWaitTimeForExpiration(long maxWaitTimeForExpiration)
public int getMaxTestTimes()
public void setMaxTestTimes(int maxTestTimes)
public int getPoolSize()
public int getMaxUsage()
public void setMaxUsage(int maxUsage)
public long getCheckObjectExpiredInterval()
public void setCheckObjectExpiredInterval(long checkObjectExpiredInterval)
public ObjectDetail getDetail(Object object)
ObjectPoolgetDetail 在接口中 ObjectPoolpublic Object borrowObject() throws Exception
ObjectPoolborrowObject 在接口中 ObjectPoolExceptionpublic Object borrowObject(long timeout, TimeUnit timeUnit) throws Exception
Exceptionpublic Object borrowObject(long timeout) throws Exception
ObjectPoolborrowObject 在接口中 ObjectPoolExceptionpublic void givebackObject(Object object) throws Exception
ObjectPoolgivebackObject 在接口中 ObjectPoolExceptionpublic void discardObject(Object object) throws Exception
ObjectPooldiscardObject 在接口中 ObjectPoolExceptionpublic void close()
throws Exception
ObjectPoolclose 在接口中 ObjectPoolExceptionpublic boolean isRunning()
Copyright © 2021. All rights reserved.