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

A

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.
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.
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.
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.

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.

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, Function<POOLABLE, ? extends Publisher<Void>>, Function<POOLABLE, ? extends Publisher<Void>>, BiPredicate<POOLABLE, PooledRefMetadata>, Scheduler, PoolMetricsRecorder, Clock) - Constructor for class reactor.pool.DefaultPoolConfig
 
DefaultPoolConfig(PoolConfig<POOLABLE>) - Constructor for class reactor.pool.DefaultPoolConfig
Copy constructor for the benefit of specializations of PoolConfig.
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.
disposeLater() - Method in interface reactor.pool.Pool
Returns a Mono that represents a lazy asynchronous shutdown of this Pool.

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.
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

fifo() - Method in class reactor.pool.PoolBuilder
Build the default flavor of Pool, which has FIFO semantics on pending Pool.acquire() Mono, serving the oldest pending acquire first whenever a resource becomes available.
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).
getPermits(int) - Method in interface reactor.pool.AllocationStrategy
Try to get the permission to allocate a desired positive number of new resources.

I

idleSize() - Method in interface reactor.pool.InstrumentedPool.PoolMetrics
Measure the current number of idle resources in the Pool.
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.
invalidate() - Method in interface reactor.pool.PooledRef
Return a Mono that triggers the asynchronous invalidation of the POOLABLE when subscribed.

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.
lifo() - Method in class reactor.pool.PoolBuilder
Build a LIFO flavor of Pool, that is to say a flavor where the last Pool.acquire() Mono that was pending is served first whenever a resource becomes available.

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 time it was acquired, its age (time since allocation), etc...
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.
permitGranted() - Method in interface reactor.pool.AllocationStrategy
 
permitMaximum() - Method in interface reactor.pool.AllocationStrategy
 
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.
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
 
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
 

R

reactor.pool - package reactor.pool
API for reactive pooling of arbitrary objects using Reactor's Mono.
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).
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.
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.

S

sizeBetween(int, int) - Method in class reactor.pool.PoolBuilder
Replace the AllocationStrategy with one that lets the Pool allocate between min and max resources.
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 interface reactor.pool.Pool
Warms up the Pool, if needed.
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.
A B C D E F G I L M P R S W 
Skip navigation links
Reactor Object Pool