public class Jdk14ObjectPool extends Object implements ObjectPool
| 限定符和类型 | 类和说明 |
|---|---|
(专用程序包) class |
Jdk14ObjectPool.CheckIdleSizeTask |
(专用程序包) class |
Jdk14ObjectPool.CheckObjectExpiredTask |
(专用程序包) static class |
Jdk14ObjectPool.PooledObject
PooledObject
|
(专用程序包) class |
Jdk14ObjectPool.TestWhileIdleTask |
| 限定符和类型 | 字段和说明 |
|---|---|
private LinkedList<Object> |
busyQueue |
private long |
checkIdleSizeInterval |
private boolean |
checkObjectExpired |
private long |
checkObjectExpiredInterval |
private LinkedList<Object> |
idleQueue |
private Object |
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,Jdk14ObjectPool.PooledObject> |
pooledObjects |
private int |
poolSize |
private boolean |
running |
private boolean |
testWhileIdle |
private long |
testWhileIdleInterval |
private Timer |
timer |
| 构造器和说明 |
|---|
Jdk14ObjectPool(ObjectFactory objectFactory) |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
borrowObject()
Borrow one from pool until it's available.
|
Object |
borrowObject(long timeout)
Borrow one from pool within given time(ms).
|
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 Object lock
private final LinkedList<Object> busyQueue
private final LinkedList<Object> idleQueue
private final IdentityHashMap<Object,Jdk14ObjectPool.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 volatile boolean running
private Timer timer
private final ObjectFactory objectFactory
public Jdk14ObjectPool(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 Object borrowObject() throws Exception
ObjectPoolborrowObject 在接口中 ObjectPoolExceptionpublic Object borrowObject(long timeout) throws Exception
ObjectPoolborrowObject 在接口中 ObjectPoolExceptionpublic void givebackObject(Object object) throws Exception
ObjectPoolgivebackObject 在接口中 ObjectPoolExceptionpublic void discardObject(Object object) throws Exception
ObjectPooldiscardObject 在接口中 ObjectPoolExceptionpublic ObjectDetail getDetail(Object object)
ObjectPoolgetDetail 在接口中 ObjectPoolpublic void close()
throws Exception
ObjectPoolclose 在接口中 ObjectPoolExceptionpublic boolean isRunning()
Copyright © 2021. All rights reserved.