T - the poolable resourcepublic abstract class PooledConnectionProvider<T extends Connection> extends java.lang.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.MeterRegistrarDEFAULT_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 |
|---|---|
reactor.core.publisher.Mono<? extends Connection> |
acquire(TransportConfig config,
ConnectionObserver connectionObserver,
java.util.function.Supplier<? extends java.net.SocketAddress> remote,
io.netty.resolver.AddressResolverGroup<?> resolverGroup)
Return an existing or new
Connection on subscribe. |
protected abstract reactor.core.CoreSubscriber<reactor.pool.PooledRef<T>> |
createDisposableAcquire(TransportConfig config,
ConnectionObserver connectionObserver,
long pendingAcquireTimeout,
reactor.pool.InstrumentedPool<T> pool,
reactor.core.publisher.MonoSink<Connection> sink) |
protected abstract reactor.pool.InstrumentedPool<T> |
createPool(TransportConfig config,
PooledConnectionProvider.PoolFactory<T> poolFactory,
java.net.SocketAddress remoteAddress,
io.netty.resolver.AddressResolverGroup<?> resolverGroup) |
reactor.core.publisher.Mono<java.lang.Void> |
disposeLater()
Returns a Mono that triggers the disposal of the ConnectionProvider when subscribed to.
|
void |
disposeWhen(java.net.SocketAddress address) |
boolean |
isDisposed() |
int |
maxConnections()
Returns the maximum number of connections before starting pending
|
protected PooledConnectionProvider.PoolFactory<T> |
poolFactory(java.net.SocketAddress remoteAddress) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuilder, create, create, dispose, maxConnectionsPerHost, newConnectionprotected PooledConnectionProvider(ConnectionProvider.Builder builder)
public final reactor.core.publisher.Mono<? extends Connection> acquire(TransportConfig config, ConnectionObserver connectionObserver, @Nullable java.util.function.Supplier<? extends java.net.SocketAddress> remote, @Nullable io.netty.resolver.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 reactor.core.publisher.Mono<java.lang.Void> disposeLater()
ConnectionProviderdisposeLater in interface ConnectionProviderpublic final void disposeWhen(java.net.SocketAddress address)
disposeWhen in interface ConnectionProviderpublic final boolean isDisposed()
isDisposed in interface reactor.core.Disposablepublic int maxConnections()
ConnectionProvidermaxConnections in interface ConnectionProviderprotected abstract reactor.core.CoreSubscriber<reactor.pool.PooledRef<T>> createDisposableAcquire(TransportConfig config, ConnectionObserver connectionObserver, long pendingAcquireTimeout, reactor.pool.InstrumentedPool<T> pool, reactor.core.publisher.MonoSink<Connection> sink)
protected abstract reactor.pool.InstrumentedPool<T> createPool(TransportConfig config, PooledConnectionProvider.PoolFactory<T> poolFactory, java.net.SocketAddress remoteAddress, io.netty.resolver.AddressResolverGroup<?> resolverGroup)
protected PooledConnectionProvider.PoolFactory<T> poolFactory(java.net.SocketAddress remoteAddress)