T - the poolable resourcepublic abstract class PooledConnectionProvider<T extends Connection> extends Object implements ConnectionProvider
ConnectionProvider implementation.| Modifier and Type | Class and Description |
|---|---|
protected static class |
PooledConnectionProvider.PoolFactory<T extends Connection> |
ConnectionProvider.Builder, ConnectionProvider.ConnectionPoolSpec<SPEC extends ConnectionProvider.ConnectionPoolSpec<SPEC>>, ConnectionProvider.HostSpecificSpec, ConnectionProvider.MeterRegistrarDisposable.Composite, Disposable.SwapDEFAULT_POOL_ACQUIRE_TIMEOUT, DEFAULT_POOL_LEASING_STRATEGY, DEFAULT_POOL_MAX_CONNECTIONS, DEFAULT_POOL_MAX_IDLE_TIME, DEFAULT_POOL_MAX_LIFE_TIME, LEASING_STRATEGY_FIFO, LEASING_STRATEGY_LIFO| Modifier | Constructor and Description |
|---|---|
protected |
PooledConnectionProvider(ConnectionProvider.Builder builder) |
| Modifier and Type | Method and Description |
|---|---|
Mono<? extends Connection> |
acquire(TransportConfig config,
ConnectionObserver connectionObserver,
java.util.function.Supplier<? extends SocketAddress> remote,
AddressResolverGroup<?> resolverGroup)
Return an existing or new
Connection on subscribe. |
protected abstract CoreSubscriber<reactor.pool.PooledRef<T>> |
createDisposableAcquire(TransportConfig config,
ConnectionObserver connectionObserver,
long pendingAcquireTimeout,
reactor.pool.InstrumentedPool<T> pool,
MonoSink<Connection> sink) |
protected abstract reactor.pool.InstrumentedPool<T> |
createPool(TransportConfig config,
PooledConnectionProvider.PoolFactory<T> poolFactory,
SocketAddress remoteAddress,
AddressResolverGroup<?> resolverGroup) |
Mono<Void> |
disposeLater()
Returns a Mono that triggers the disposal of the ConnectionProvider when subscribed to.
|
void |
disposeWhen(SocketAddress address) |
boolean |
isDisposed() |
int |
maxConnections()
Returns the maximum number of connections before starting pending
|
protected PooledConnectionProvider.PoolFactory<T> |
poolFactory(SocketAddress remoteAddress) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuilder, create, create, dispose, maxConnectionsPerHost, newConnectionprotected PooledConnectionProvider(ConnectionProvider.Builder builder)
public final Mono<? extends Connection> acquire(TransportConfig config, ConnectionObserver connectionObserver, @Nullable java.util.function.Supplier<? extends SocketAddress> remote, @Nullable AddressResolverGroup<?> resolverGroup)
ConnectionProviderConnection on subscribe.acquire in interface ConnectionProviderconfig - the transport configurationconnectionObserver - the ConnectionObserverremote - the SocketAddress to connect toresolverGroup - the resolver which will resolve the address of the unresolved named addressMono of Connectionpublic final Mono<Void> disposeLater()
ConnectionProviderdisposeLater in interface ConnectionProviderpublic final void disposeWhen(SocketAddress address)
disposeWhen in interface ConnectionProviderpublic final boolean isDisposed()
isDisposed in interface Disposablepublic int maxConnections()
ConnectionProvidermaxConnections in interface ConnectionProviderprotected abstract CoreSubscriber<reactor.pool.PooledRef<T>> createDisposableAcquire(TransportConfig config, ConnectionObserver connectionObserver, long pendingAcquireTimeout, reactor.pool.InstrumentedPool<T> pool, MonoSink<Connection> sink)
protected abstract reactor.pool.InstrumentedPool<T> createPool(TransportConfig config, PooledConnectionProvider.PoolFactory<T> poolFactory, SocketAddress remoteAddress, AddressResolverGroup<?> resolverGroup)
protected PooledConnectionProvider.PoolFactory<T> poolFactory(SocketAddress remoteAddress)