Package reactor.pool
@NullMarked
package reactor.pool
API for reactive pooling of arbitrary objects using Reactor's
Mono.- Author:
- Simon Baslé
-
ClassDescriptionA strategy guiding the
Poolon whether or not it is possible to invoke the resource allocator.DefaultPoolConfig<POOLABLE>A defaultPoolConfigthat can be extended to bear more configuration options with access to a copy constructor for the basic options.InstrumentedPool<POOLABLE>AnInstrumentedPoolis aPoolthat exposes a few additional methods around metrics.An object that can be used to get live information about aPool, suitable for gauge metrics.Pool<POOLABLE>A reactive pool of objects.ARuntimeExceptionthat rejects aPool.acquire()operation due to too many similar operations being in a pending state waiting for resources to be released.A specializedTimeoutExceptionthat denotes that aPool.acquire(Duration)has timed out.PoolBuilder<T,CONF extends PoolConfig<T>> PoolConfig<POOLABLE>A representation of the common configuration options of aPool.PooledRef<POOLABLE>An abstraction over an object in aPool, which holds the underlyingPOOLABLEobject and allows one to manuallyPooledRef.release()it to the pool orPooledRef.invalidate()it.Metadata about aPooledRef, 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()).An interface representing ways forPoolto collect instrumentation data.SimpleDequePool<POOLABLE>TheSimpleDequePoolis based onDequefor idle resources and pendingPool.acquire()Monos, allowing both to be ordered either LIFO or FIFO.