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)
Dispose all connection pools for the specified remote 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()
ConnectionProvider
This method has NOOP default implementation.
ConnectionProvider implementations may decide to provide more specific implementation.
disposeLater in interface ConnectionProviderpublic final void disposeWhen(java.net.SocketAddress address)
ConnectionProvider
This method has NOOP default implementation.
ConnectionProvider implementations may decide to provide more specific implementation.
disposeWhen in interface ConnectionProvideraddress - the remote addresspublic 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)