Class AbstractConnPool<T,C,E extends PoolEntry<T,C>>
- Type Parameters:
T- the route type that represents the opposite endpoint of a pooled connection.C- the connection type.E- the type of the pool entry containing a pooled connection.
- All Implemented Interfaces:
ConnPool<T,,E> ConnPoolControl<T>
- Direct Known Subclasses:
BasicConnPool
Please note that this class does not maintain its own pool of execution Threads.
Therefore, one must call Future.get() or Future.get(long, TimeUnit)
method on the Future object returned by the
lease(Object, Object, FutureCallback) method in order for the lease operation
to complete.
- Since:
- 4.2
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractConnPool(ConnFactory<T, C> connFactory, int defaultMaxPerRoute, int maxTotal) -
Method Summary
Modifier and TypeMethodDescriptionvoidCloses expired connections and evicts them from the pool.voidCloses connections that have been idle longer than the given period of time and evicts them from the pool.intintgetMaxPerRoute(T route) intReturns snapshot of all knows routesintbooleanAttempts to lease a connection for the given route and with the given state from the pool.lease(T route, Object state, FutureCallback<E> callback) Attempts to lease a connection for the given route and with the given state from the pool.voidReleases the pool entry back to the pool.voidsetDefaultMaxPerRoute(int max) voidsetMaxPerRoute(T route, int max) voidsetMaxTotal(int max) voidsetValidateAfterInactivity(int ms) voidshutdown()Shuts down the pool.toString()
-
Constructor Details
-
AbstractConnPool
-
-
Method Details
-
isShutdown
public boolean isShutdown() -
shutdown
Shuts down the pool.- Throws:
IOException
-
lease
Attempts to lease a connection for the given route and with the given state from the pool.Please note that this class does not maintain its own pool of execution
Threads. Therefore, one must callFuture.get()orFuture.get(long, TimeUnit)method on theFuturereturned by this method in order for the lease operation to complete.- Specified by:
leasein interfaceConnPool<T,C> - Parameters:
route- route of the connection.state- arbitrary object that represents a particular state (usually a security principal or a unique token identifying the user whose credentials have been used while establishing the connection). May benull.callback- operation completion callback.- Returns:
- future for a leased pool entry.
-
lease
Attempts to lease a connection for the given route and with the given state from the pool.Please note that this class does not maintain its own pool of execution
Threads. Therefore, one must callFuture.get()orFuture.get(long, TimeUnit)method on theFuturereturned by this method in order for the lease operation to complete.- Parameters:
route- route of the connection.state- arbitrary object that represents a particular state (usually a security principal or a unique token identifying the user whose credentials have been used while establishing the connection). May benull.- Returns:
- future for a leased pool entry.
-
release
Description copied from interface:ConnPoolReleases the pool entry back to the pool. -
setMaxTotal
public void setMaxTotal(int max) - Specified by:
setMaxTotalin interfaceConnPoolControl<T>
-
getMaxTotal
public int getMaxTotal()- Specified by:
getMaxTotalin interfaceConnPoolControl<T>
-
setDefaultMaxPerRoute
public void setDefaultMaxPerRoute(int max) - Specified by:
setDefaultMaxPerRoutein interfaceConnPoolControl<T>
-
getDefaultMaxPerRoute
public int getDefaultMaxPerRoute()- Specified by:
getDefaultMaxPerRoutein interfaceConnPoolControl<T>
-
setMaxPerRoute
- Specified by:
setMaxPerRoutein interfaceConnPoolControl<T>
-
getMaxPerRoute
- Specified by:
getMaxPerRoutein interfaceConnPoolControl<T>
-
getTotalStats
- Specified by:
getTotalStatsin interfaceConnPoolControl<T>
-
getStats
- Specified by:
getStatsin interfaceConnPoolControl<T>
-
getRoutes
Returns snapshot of all knows routes- Returns:
- the set of routes
- Since:
- 4.4
-
closeIdle
Closes connections that have been idle longer than the given period of time and evicts them from the pool.- Parameters:
idletime- maximum idle time.tunit- time unit.
-
closeExpired
public void closeExpired()Closes expired connections and evicts them from the pool. -
getValidateAfterInactivity
public int getValidateAfterInactivity()- Returns:
- the number of milliseconds
- Since:
- 4.4
-
setValidateAfterInactivity
public void setValidateAfterInactivity(int ms) - Parameters:
ms- the number of milliseconds- Since:
- 4.4
-
toString
-