class PooledConnectionProvider
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private class |
PooledConnectionProvider.ConnectionItemFactory |
| Modifier and Type | Field and Description |
|---|---|
private boolean |
closed |
private java.lang.String |
clusterId |
private ConnectionFactory |
connectionFactory |
private ConnectionPoolListener |
connectionPoolListener |
private java.util.concurrent.atomic.AtomicInteger |
generation |
private boolean |
hasWorked |
private static java.util.logging.Logger |
LOGGER |
private java.lang.Runnable |
maintenanceTask |
private ConcurrentPool<Connection> |
pool |
private ServerAddress |
serverAddress |
private ConnectionPoolSettings |
settings |
private java.util.concurrent.ExecutorService |
sizeMaintenanceTimer |
private java.util.concurrent.atomic.AtomicInteger |
waitQueueSize |
| Constructor and Description |
|---|
PooledConnectionProvider(java.lang.String clusterId,
ServerAddress serverAddress,
ConnectionFactory connectionFactory,
ConnectionPoolSettings settings,
ConnectionPoolListener connectionPoolListener) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
private java.lang.Runnable |
createMaintenanceTask() |
private java.util.concurrent.ExecutorService |
createTimer() |
void |
doMaintenance()
Synchronously prune idle connections and ensure the minimum pool size.
|
private boolean |
expired(long startTime,
long curTime,
long maxTime) |
private boolean |
fromPreviousGeneration(Connection connection) |
Connection |
get() |
Connection |
get(long timeout,
java.util.concurrent.TimeUnit timeUnit) |
boolean |
hasWorked() |
void |
invalidate() |
private boolean |
pastMaxIdleTime(Connection connection) |
private boolean |
pastMaxLifeTime(Connection connection) |
void |
release(Connection connection) |
private boolean |
shouldEnsureMinSize() |
private boolean |
shouldPrune() |
private boolean |
shouldPrune(Connection connection) |
private static final java.util.logging.Logger LOGGER
private final ConcurrentPool<Connection> pool
private final ConnectionPoolSettings settings
private final java.util.concurrent.atomic.AtomicInteger waitQueueSize
private final java.util.concurrent.atomic.AtomicInteger generation
private final java.util.concurrent.ExecutorService sizeMaintenanceTimer
private final java.lang.String clusterId
private final ServerAddress serverAddress
private final java.lang.Runnable maintenanceTask
private final ConnectionPoolListener connectionPoolListener
private final ConnectionFactory connectionFactory
private volatile boolean closed
private volatile boolean hasWorked
public PooledConnectionProvider(java.lang.String clusterId,
ServerAddress serverAddress,
ConnectionFactory connectionFactory,
ConnectionPoolSettings settings,
ConnectionPoolListener connectionPoolListener)
public Connection get()
public Connection get(long timeout, java.util.concurrent.TimeUnit timeUnit)
public void release(Connection connection)
public boolean hasWorked()
public void close()
public void doMaintenance()
private java.lang.Runnable createMaintenanceTask()
private java.util.concurrent.ExecutorService createTimer()
private boolean shouldEnsureMinSize()
private boolean shouldPrune()
private boolean shouldPrune(Connection connection)
private boolean pastMaxIdleTime(Connection connection)
private boolean pastMaxLifeTime(Connection connection)
private boolean fromPreviousGeneration(Connection connection)
private boolean expired(long startTime,
long curTime,
long maxTime)
public void invalidate()