Skip navigation links
Reactor Pool
A B C D E F G I L M P R S W 

A

acquire() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
acquire(Duration) - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
acquire() - Method in interface reactor.pool.Pool
Manually acquire a POOLABLE from the pool upon subscription and become responsible for its release.
acquire(Duration) - Method in interface reactor.pool.Pool
Manually acquire a POOLABLE from the pool upon subscription and become responsible for its release.
acquire() - Method in class reactor.pool.SimpleDequePool
 
acquire(Duration) - Method in class reactor.pool.SimpleDequePool
 
acquireCount() - Method in interface reactor.pool.PooledRefMetadata
Return the number of times the underlying pooled object has been used by consumers of the Pool, via either of Pool.acquire() or Pool.withPoolable(Function).
acquiredSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Measure the current number of resources that have been successfully acquired and are in active use, outside of the control of the pool until they're released back to it.
acquiredSize() - Method in class reactor.pool.SimpleDequePool
 
acquisitionScheduler - Variable in class reactor.pool.DefaultPoolConfig
 
acquisitionScheduler() - Method in class reactor.pool.DefaultPoolConfig
 
acquisitionScheduler(Scheduler) - Method in class reactor.pool.PoolBuilder
Provide a Scheduler that can optionally be used by a Pool to deliver its resources in a more deterministic (albeit potentially less efficient) way, thread-wise.
acquisitionScheduler() - Method in interface reactor.pool.PoolConfig
When set, Pool implementation MAY decide to use the Scheduler to publish resources in a more deterministic way: the publishing thread would then always be the same, independently of which thread called Pool.acquire() or PooledRef.release() or on which thread the PoolConfig.allocator() produced new resources.
allocatedSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Measure the current number of allocated resources in the Pool, acquired or idle.
AllocationStrategy - Interface in reactor.pool
A strategy guiding the Pool on whether or not it is possible to invoke the resource allocator.
allocationStrategy - Variable in class reactor.pool.DefaultPoolConfig
 
allocationStrategy() - Method in class reactor.pool.DefaultPoolConfig
 
allocationStrategy(AllocationStrategy) - Method in class reactor.pool.PoolBuilder
Limits in how many resources can be allocated and managed by the Pool are driven by the provided AllocationStrategy.
allocationStrategy() - Method in interface reactor.pool.PoolConfig
AllocationStrategy defines a strategy / limit for the number of pooled object to allocate.
allocationTimestamp() - Method in interface reactor.pool.PooledRefMetadata
Return a timestamp that denotes the order in which the PooledRef was created/allocated, or an equivalently totally-ordered positive number that can be used to compare in which order two references have been created (unless created within the same millisecond).
allocator - Variable in class reactor.pool.DefaultPoolConfig
 
allocator() - Method in class reactor.pool.DefaultPoolConfig
 
allocator() - Method in interface reactor.pool.PoolConfig
The asynchronous factory that produces new resources, represented as a Mono.

B

build(Function<? super CONF, POOL>) - Method in class reactor.pool.PoolBuilder
Build a custom flavor of Pool, given a Pool factory Function that is provided with a PoolConfig copy of this builder's configuration.
buildPool() - Method in class reactor.pool.PoolBuilder
Construct a default reactor pool with the builder's configuration.
buildPoolAndDecorateWith(Function<? super InstrumentedPool<T>, P>) - Method in class reactor.pool.PoolBuilder
Construct a default reactor pool with the builder's configuration, then wrap it into a decorator implementation using the provided Function.

C

clock - Variable in class reactor.pool.DefaultPoolConfig
 
clock() - Method in class reactor.pool.DefaultPoolConfig
 
clock(Clock) - Method in class reactor.pool.PoolBuilder
Set the Clock to use for timestamps, notably marking the times at which a resource is allocated, released and acquired.
clock() - Method in interface reactor.pool.PoolConfig
The Clock to use to timestamp pool lifecycle events like allocation and eviction, which can influence eg.
config() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
config() - Method in interface reactor.pool.Pool
Return the pool's configuration.

D

DefaultPoolConfig<POOLABLE> - Class in reactor.pool
A default PoolConfig that can be extended to bear more configuration options with access to a copy constructor for the basic options.
DefaultPoolConfig(Mono<POOLABLE>, AllocationStrategy, int, BiFunction<Runnable, Duration, Disposable>, Function<POOLABLE, ? extends Publisher<Void>>, Function<POOLABLE, ? extends Publisher<Void>>, BiPredicate<POOLABLE, PooledRefMetadata>, Duration, Scheduler, Scheduler, PoolMetricsRecorder, Clock, boolean) - Constructor for class reactor.pool.DefaultPoolConfig
 
DefaultPoolConfig(PoolConfig<POOLABLE>) - Constructor for class reactor.pool.DefaultPoolConfig
Copy constructor for the benefit of specializations of PoolConfig.
delegate - Variable in class reactor.pool.introspection.SamplingAllocationStrategy
The delegate AllocationStrategy backing this sampling strategy.
destroyHandler - Variable in class reactor.pool.DefaultPoolConfig
 
destroyHandler() - Method in class reactor.pool.DefaultPoolConfig
 
destroyHandler(Function<T, ? extends Publisher<Void>>) - Method in class reactor.pool.PoolBuilder
Provide a handler that will derive a destroy Publisher whenever a resource isn't fit for usage anymore (either through eviction, manual invalidation, or because something went wrong with it).
destroyHandler() - Method in interface reactor.pool.PoolConfig
Defines a mechanism of resource destruction, cleaning up state and OS resources it could maintain (eg.
dispose() - Method in interface reactor.pool.Pool
Shutdown the pool by: notifying every acquire still pending that the pool has been shut down, via a RuntimeException releasing each pooled resource, according to the release handler defined in the PoolBuilder This imperative style method returns once every release handler has been started in step 2, but doesn't necessarily block until full completion of said releases.
disposeGracefully(Duration) - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
Trigger a "graceful shutdown" of the pool, with a grace period timeout.
disposeLater() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
disposeLater() - Method in interface reactor.pool.Pool
Returns a Mono that represents a lazy asynchronous shutdown of this Pool.
disposeLater() - Method in class reactor.pool.SimpleDequePool
 

E

estimatePermitCount() - Method in interface reactor.pool.AllocationStrategy
Best-effort peek at the state of the strategy which indicates roughly how many more resources can currently be allocated.
estimatePermitCount() - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
evictInBackground(Duration) - Method in class reactor.pool.PoolBuilder
Enable background eviction so that evictionPredicate is regularly applied to elements that are idle in the pool when there is no pool activity (i.e.
evictInBackground(Duration, Scheduler) - Method in class reactor.pool.PoolBuilder
Enable background eviction so that evictionPredicate is regularly applied to elements that are idle in the pool when there is no pool activity (i.e.
evictInBackgroundDisabled() - Method in class reactor.pool.PoolBuilder
Disable background eviction entirely, so that evictionPredicate is only checked upon acquire and release (ie only when there is pool activity).
evictInBackgroundInterval - Variable in class reactor.pool.DefaultPoolConfig
 
evictInBackgroundInterval() - Method in class reactor.pool.DefaultPoolConfig
 
evictInBackgroundInterval() - Method in interface reactor.pool.PoolConfig
If the pool is configured to perform regular eviction checks on the background, returns the Duration representing the interval at which such checks are made.
evictInBackgroundScheduler - Variable in class reactor.pool.DefaultPoolConfig
 
evictInBackgroundScheduler() - Method in class reactor.pool.DefaultPoolConfig
 
evictInBackgroundScheduler() - Method in interface reactor.pool.PoolConfig
If the pool is configured to perform regular eviction checks on the background, returns the Scheduler on which these checks are made.
evictionIdle(Duration) - Method in class reactor.pool.PoolBuilder
Set the eviction predicate to cause eviction (ie returns true) of resources that have been idle (ie released and available in the Pool) for more than the ttl Duration (inclusive).
evictionPredicate - Variable in class reactor.pool.DefaultPoolConfig
 
evictionPredicate() - Method in class reactor.pool.DefaultPoolConfig
 
evictionPredicate(BiPredicate<T, PooledRefMetadata>) - Method in class reactor.pool.PoolBuilder
Provide an eviction BiPredicate that allows to decide if a resource is fit for being placed in the Pool.
evictionPredicate() - Method in interface reactor.pool.PoolConfig
A BiPredicate that checks if a resource should be destroyed (true) or is still in a valid state for recycling.
extraConfiguration(Function<? super CONF, CONF2>) - Method in class reactor.pool.PoolBuilder
Add implementation-specific configuration, changing the type of PoolConfig passed to the Pool factory in PoolBuilder.build(Function).

F

from(Publisher<? extends T>) - Static method in class reactor.pool.PoolBuilder
Start building a Pool by describing how new objects are to be asynchronously allocated.

G

getAcquirePendingLimit() - Method in exception reactor.pool.PoolAcquirePendingLimitException
 
getAcquireTimeout() - Method in exception reactor.pool.PoolAcquireTimeoutException
 
getMaxAllocatedSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Get the maximum number of live resources this Pool will allow.
getMaxPendingAcquireSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Get the maximum number of Pool.acquire() this Pool can queue in a pending state when no available resource is immediately handy (and the Pool cannot allocate more resources).
getOriginalPool() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
Return the original pool.
getPermits(int) - Method in interface reactor.pool.AllocationStrategy
Try to get the permission to allocate a desired positive number of new resources.
getPermits(int) - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
gettingSamples - Variable in class reactor.pool.introspection.SamplingAllocationStrategy
The list of samples for SamplingAllocationStrategy.getPermits(int) calls, as Throwable that trace back to the callers of the sampled calls.
gettingSamplingRate - Variable in class reactor.pool.introspection.SamplingAllocationStrategy
The configured sampling rate for SamplingAllocationStrategy.getPermits(int) calls, as a double between 0d and 1d (percentage).
gracefulShutdown(InstrumentedPool<T>) - Static method in class reactor.pool.decorators.InstrumentedPoolDecorators
GracefulShutdownInstrumentedPool<T> - Class in reactor.pool.decorators
A decorating InstrumentedPool that adds the capacity to gracefully shut down the pool.

I

IDLE_RESOURCES - Static variable in class reactor.pool.SimpleDequePool
 
idleResourceReuseLruOrder() - Method in class reactor.pool.PoolBuilder
Configure the pool so that if there are idle resources (ie pool is under-utilized), the next Pool.acquire() will get the Least Recently Used resource (LRU, ie.
idleResourceReuseMruOrder() - Method in class reactor.pool.PoolBuilder
Configure the pool so that if there are idle resources (ie pool is under-utilized), the next Pool.acquire() will get the Most Recently Used resource (MRU, ie.
idleResourceReuseOrder(boolean) - Method in class reactor.pool.PoolBuilder
Configure the order in which idle resources are used when the next Pool.acquire() is performed (while the pool is under-utilized).
idleSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Measure the current number of idle resources in the Pool.
idleSize() - Method in class reactor.pool.SimpleDequePool
 
idleTime() - Method in interface reactor.pool.PooledRefMetadata
Returns the wall-clock number of milliseconds since the reference was last released (or allocated, if it was never released).
InstrumentedPool<POOLABLE> - Interface in reactor.pool
An InstrumentedPool is a Pool that exposes a few additional methods around metrics.
InstrumentedPool.PoolMetrics - Interface in reactor.pool
An object that can be used to get live information about a Pool, suitable for gauge metrics.
InstrumentedPoolDecorators - Class in reactor.pool.decorators
Utility class to expose various InstrumentedPool decorators, which can also be used via PoolBuilder.buildPoolAndDecorateWith(Function).
invalidate() - Method in interface reactor.pool.PooledRef
Return a Mono that triggers the asynchronous invalidation of the POOLABLE when subscribed.
isDisposed() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
isDisposed() - Method in class reactor.pool.SimpleDequePool
 
isGracefullyShuttingDown() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
isIdleLRU - Variable in class reactor.pool.DefaultPoolConfig
 
isInactiveForMoreThan(Duration) - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
A convenience way to check the pool is inactive, in the sense that InstrumentedPool.PoolMetrics.acquiredSize(), InstrumentedPool.PoolMetrics.idleSize(), InstrumentedPool.PoolMetrics.pendingAcquireSize() and InstrumentedPool.PoolMetrics.allocatedSize() are all at zero and that the last recorded interaction with the pool (InstrumentedPool.PoolMetrics.secondsSinceLastInteraction()) was more than or exactly duration ago.
isInGracePeriod() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
Check if the GracefulShutdownInstrumentedPool.disposeGracefully(Duration) has been invoked but there are still pending acquire and the grace period hasn't timed out.

L

lifeTime() - Method in interface reactor.pool.PooledRefMetadata
Returns the age of the PooledRef: the wall-clock time (in milliseconds) since which the underlying object has been allocated.

M

maxPending - Variable in class reactor.pool.DefaultPoolConfig
 
maxPending() - Method in class reactor.pool.DefaultPoolConfig
 
maxPending() - Method in interface reactor.pool.PoolConfig
The maximum number of pending borrowers to enqueue before failing fast.
maxPendingAcquire(int) - Method in class reactor.pool.PoolBuilder
Set the maximum number of subscribed Pool.acquire() Monos that can be in a pending state (ie they wait for a resource to be released, as no idle resource was immediately available, and the pool add already allocated the maximum permitted amount).
maxPendingAcquireUnbounded() - Method in class reactor.pool.PoolBuilder
Uncap the number of subscribed Pool.acquire() Monos that can be in a pending state (ie they wait for a resource to be released, as no idle resource was immediately available, and the pool add already allocated the maximum permitted amount).
metadata() - Method in interface reactor.pool.PooledRef
Returns a PooledRefMetadata object that holds more information about the reference (rather than the PooledRef.poolable()), like how many times it was acquired, its age (time since allocation), etc...
metrics() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
metrics() - Method in interface reactor.pool.InstrumentedPool
 
metricsRecorder - Variable in class reactor.pool.DefaultPoolConfig
 
metricsRecorder() - Method in class reactor.pool.DefaultPoolConfig
 
metricsRecorder(PoolMetricsRecorder) - Method in class reactor.pool.PoolBuilder
Set up the optional PoolMetricsRecorder for Pool to use for instrumentation purposes.
metricsRecorder() - Method in interface reactor.pool.PoolConfig
The PoolMetricsRecorder to use to collect instrumentation data of the Pool implementations.

P

pendingAcquireSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Measure the current number of "pending" acquire Monos in the Pool.
pendingAcquireSize() - Method in class reactor.pool.SimpleDequePool
 
pendingAcquireTimer - Variable in class reactor.pool.DefaultPoolConfig
 
pendingAcquireTimer() - Method in class reactor.pool.DefaultPoolConfig
 
pendingAcquireTimer(BiFunction<Runnable, Duration, Disposable>) - Method in class reactor.pool.PoolBuilder
Define how timeouts are scheduled when a Pool.acquire(Duration) call is made and the acquisition is pending.
pendingAcquireTimer() - Method in interface reactor.pool.PoolConfig
The function that defines how timeouts are scheduled when a Pool.acquire(Duration) call is made and the acquisition is pending.
permitGranted() - Method in interface reactor.pool.AllocationStrategy
 
permitGranted() - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
permitMaximum() - Method in interface reactor.pool.AllocationStrategy
 
permitMaximum() - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
permitMinimum() - Method in interface reactor.pool.AllocationStrategy
Return the minimum number of permits this strategy tries to maintain granted (reflecting a minimal size for the pool), or 0 for scale-to-zero.
permitMinimum() - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
Pool<POOLABLE> - Interface in reactor.pool
A reactive pool of objects.
poolable() - Method in interface reactor.pool.PooledRef
Returns the wrapped POOLABLE.
PoolAcquirePendingLimitException - Exception in reactor.pool
A RuntimeException that rejects a Pool.acquire() operation due to too many similar operations being in a pending state waiting for resources to be released.
PoolAcquirePendingLimitException(int) - Constructor for exception reactor.pool.PoolAcquirePendingLimitException
 
PoolAcquirePendingLimitException(int, String) - Constructor for exception reactor.pool.PoolAcquirePendingLimitException
 
PoolAcquireTimeoutException - Exception in reactor.pool
A specialized TimeoutException that denotes that a Pool.acquire(Duration) has timed out.
PoolAcquireTimeoutException(Duration) - Constructor for exception reactor.pool.PoolAcquireTimeoutException
 
PoolBuilder<T,CONF extends PoolConfig<T>> - Class in reactor.pool
A builder for Pool implementations, which tuning methods map to a PoolConfig subclass, CONF.
PoolConfig<POOLABLE> - Interface in reactor.pool
A representation of the common configuration options of a Pool.
PooledRef<POOLABLE> - Interface in reactor.pool
An abstraction over an object in a Pool, which holds the underlying POOLABLE object and allows one to manually PooledRef.release() it to the pool or PooledRef.invalidate() it.
PooledRefMetadata - Interface in reactor.pool
Metadata about a PooledRef, which includes monotonic metrics like its age (PooledRefMetadata.lifeTime()), number of times it was reused (PooledRefMetadata.acquireCount()), as well as contextually changing metrics like the duration for which it has been idle in a pool (PooledRefMetadata.idleTime()).
PoolMetricsRecorder - Interface in reactor.pool
An interface representing ways for Pool to collect instrumentation data.
PoolShutdownException - Exception in reactor.pool
A RuntimeException that denotes that a Pool has been disposed.
PoolShutdownException() - Constructor for exception reactor.pool.PoolShutdownException
 
PoolShutdownException(String) - Constructor for exception reactor.pool.PoolShutdownException
 

R

reactor.pool - package reactor.pool
API for reactive pooling of arbitrary objects using Reactor's Mono.
reactor.pool.decorators - package reactor.pool.decorators
 
reactor.pool.introspection - package reactor.pool.introspection
 
recordAllocationFailureAndLatency(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record a latency for failed allocation.
recordAllocationSuccessAndLatency(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record a latency for successful allocation.
recordDestroyLatency(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record a latency for destroying a resource.
recordFastPath() - Method in interface reactor.pool.PoolMetricsRecorder
Record the fact that a Pool has a fast path of recycling and just used it.
recordIdleTime(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record the number of milliseconds an object had been idle when it gets pulled from the pool and passed to a borrower.
recordLifetimeDuration(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record the number of milliseconds a pooled object has been live (ie time between allocation and destruction).
recordPendingFailureAndLatency(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record a latency for failed pending acquire.
recordPendingSuccessAndLatency(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record a latency for successful pending acquire operation.
recordRecycled() - Method in interface reactor.pool.PoolMetricsRecorder
Record the fact that a resource was recycled, ie it was reset and tested for reuse.
recordResetLatency(long) - Method in interface reactor.pool.PoolMetricsRecorder
Record a latency for resetting a resource to a reusable state.
recordSlowPath() - Method in interface reactor.pool.PoolMetricsRecorder
Record the fact that a Pool has a slow path of recycling and just used it.
release() - Method in interface reactor.pool.PooledRef
Return a Mono that, once subscribed, will release the POOLABLE back to the pool asynchronously.
releaseHandler - Variable in class reactor.pool.DefaultPoolConfig
 
releaseHandler() - Method in class reactor.pool.DefaultPoolConfig
 
releaseHandler(Function<T, ? extends Publisher<Void>>) - Method in class reactor.pool.PoolBuilder
Provide a handler that will derive a reset Publisher whenever a resource is released.
releaseHandler() - Method in interface reactor.pool.PoolConfig
When a resource is released, defines a mechanism of resetting any lingering state of the resource in order for it to become usable again.
releaseTimestamp() - Method in interface reactor.pool.PooledRefMetadata
Return a timestamp that denotes the order in which the PooledRef was last released, or an equivalently totally-ordered positive number that can be used to compare in which order two references have been released (unless released within the same millisecond).
returningSamples - Variable in class reactor.pool.introspection.SamplingAllocationStrategy
The list of samples for SamplingAllocationStrategy.returnPermits(int) calls, as Throwable that trace back to the callers of the sampled calls.
returningSamplingRate - Variable in class reactor.pool.introspection.SamplingAllocationStrategy
The configured sampling rate for SamplingAllocationStrategy.returnPermits(int) calls, as a double between 0d and 1d (percentage).
returnPermits(int) - Method in interface reactor.pool.AllocationStrategy
Update the strategy to indicate that N resources were discarded from the Pool, potentially leaving space for N new ones to be allocated.
returnPermits(int) - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
reuseIdleResourcesInLruOrder() - Method in class reactor.pool.DefaultPoolConfig
 
reuseIdleResourcesInLruOrder() - Method in interface reactor.pool.PoolConfig
The order in which idle (aka available) resources should be used when the pool was under-utilized and a new Pool.acquire() is performed.

S

SamplingAllocationStrategy - Class in reactor.pool.introspection
secondsSinceLastInteraction() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Measure the duration in seconds since the pool was last interacted with in a meaningful way.
SimpleDequePool<POOLABLE> - Class in reactor.pool
The SimpleDequePool is based on Deque for idle resources and pending Pool.acquire() Monos, allowing both to be ordered either LIFO or FIFO.
sizeBetween(int, int) - Method in class reactor.pool.PoolBuilder
Replace the AllocationStrategy with one that lets the Pool allocate between min and max resources.
sizeBetween(int, int, int) - Method in class reactor.pool.PoolBuilder
Replace the AllocationStrategy with one that lets the Pool allocate between min and max resources.
sizeBetweenWithSampling(int, int, double, double) - Static method in class reactor.pool.introspection.SamplingAllocationStrategy
sizeUnbounded() - Method in class reactor.pool.PoolBuilder
Replace the AllocationStrategy with one that lets the Pool allocate new resources when no idle resource is available, without limit.

W

warmup() - Method in class reactor.pool.decorators.GracefulShutdownInstrumentedPool
 
warmup() - Method in interface reactor.pool.Pool
Warms up the Pool, if needed.
warmup() - Method in class reactor.pool.SimpleDequePool
 
warmupParallelism() - Method in interface reactor.pool.AllocationStrategy
Return the concurrency level used when the allocator is subscribed to during the warmup phase, if any.
warmupParallelism() - Method in class reactor.pool.introspection.SamplingAllocationStrategy
 
withPoolable(Function<POOLABLE, Publisher<V>>) - Method in interface reactor.pool.Pool
Acquire a POOLABLE object from the pool upon subscription and declaratively use it, automatically releasing the object back to the pool once the derived usage pipeline terminates or is cancelled.
withSampling(AllocationStrategy, double, double) - Static method in class reactor.pool.introspection.SamplingAllocationStrategy
A B C D E F G I L M P R S W 
Skip navigation links
Reactor Pool