T
- the type of objects held in this poolpublic abstract class BaseObjectPool<T> extends Object implements ObjectPool<T>
ObjectPool
.
Optional operations are implemented to either do nothing, return a value
indicating it is unsupported or throw UnsupportedOperationException
.Constructor and Description |
---|
BaseObjectPool() |
Modifier and Type | Method and Description |
---|---|
void |
addObject()
Not supported in this base implementation.
|
protected void |
assertOpen()
Throws an
IllegalStateException when this pool has been closed. |
abstract T |
borrowObject()
Obtains an instance from the pool.
|
void |
clear()
Not supported in this base implementation.
|
void |
close()
Close this pool.
|
int |
getNumActive()
Not supported in this base implementation.
|
int |
getNumIdle()
Not supported in this base implementation.
|
abstract void |
invalidateObject(T obj)
Invalidates an object from the pool.
|
boolean |
isClosed()
Has this pool instance been closed.
|
abstract void |
returnObject(T obj)
Returns an instance to the pool.
|
void |
setFactory(PoolableObjectFactory<T> factory)
Deprecated.
to be removed in pool 2.0
|
public abstract T borrowObject() throws Exception
borrowObject
in interface ObjectPool<T>
Exception
- if an instance cannot be obtained from the poolpublic abstract void returnObject(T obj) throws Exception
returnObject
in interface ObjectPool<T>
obj
- instance to return to the poolException
public abstract void invalidateObject(T obj) throws Exception
Invalidates an object from the pool.
By contract, obj
must have been obtained
using borrowObject
.
This method should be used when an object that has been borrowed is determined (due to an exception or other problem) to be invalid.
invalidateObject
in interface ObjectPool<T>
obj
- a borrowed
instance to be disposed.Exception
public int getNumIdle() throws UnsupportedOperationException
getNumIdle
in interface ObjectPool<T>
UnsupportedOperationException
public int getNumActive() throws UnsupportedOperationException
getNumActive
in interface ObjectPool<T>
UnsupportedOperationException
public void clear() throws Exception, UnsupportedOperationException
clear
in interface ObjectPool<T>
UnsupportedOperationException
Exception
public void addObject() throws Exception, UnsupportedOperationException
UnsupportedOperationException
,
subclasses should override this behavior.addObject
in interface ObjectPool<T>
UnsupportedOperationException
Exception
- when PoolableObjectFactory.makeObject()
fails.IllegalStateException
- after ObjectPool.close()
has been called on this pool.public void close() throws Exception
isClosed
and assertOpen
.close
in interface ObjectPool<T>
Exception
- deprecated: implementations should silently fail if not all resources can be freed.@Deprecated public void setFactory(PoolableObjectFactory<T> factory) throws IllegalStateException, UnsupportedOperationException
UnsupportedOperationException
,
subclasses should override this behavior.setFactory
in interface ObjectPool<T>
factory
- the PoolableObjectFactoryUnsupportedOperationException
IllegalStateException
public final boolean isClosed()
true
when this pool has been closed.protected final void assertOpen() throws IllegalStateException
IllegalStateException
when this pool has been closed.IllegalStateException
- when this pool has been closed.isClosed()
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.