Top Description Interfaces Classes
[default module]

Package reactor.pool

Annotations
@NonNullApi
Imports
reactor.util.annotation.NonNullApi

API for reactive pooling of arbitrary objects using Reactor's reactor.core.publisher.Mono.
Author
Simon Baslé

Interface Summary

Modifier and TypeInterface and Description
public interface
AllocationStrategy

A strategy guiding the Pool on whether or not it is possible to invoke the resource allocator.

public interface
InstrumentedPool<POOLABLE>

An InstrumentedPool is a Pool that exposes a few additional methods around metrics.

public interface
Pool<POOLABLE>

A reactive pool of objects.

public interface
PoolConfig<POOLABLE>

A representation of the common configuration options of a Pool.

public interface
PooledRef<POOLABLE>

An abstraction over an object in a Pool, which holds the underlying POOLABLE object and allows one to manually release() it to the pool or invalidate() it.

public interface
PooledRefMetadata

Metadata about a PooledRef, which includes monotonic metrics like its age (lifeTime()), number of times it was reused (acquireCount()), as well as contextually changing metrics like the duration for which it has been idle in a pool (idleTime()).

public interface
PoolMetricsRecorder

An interface representing ways for Pool to collect instrumentation data.

Class Summary

Modifier and TypeClass and Description
pack-priv abstract class
AbstractPool<POOLABLE>

An abstract base version of a Pool, mutualizing small amounts of code and allowing to build common related classes like AbstractPooledRef or Borrower.

pack-priv class
AllocationStrategies

Various pre-made AllocationStrategy for internal use.

public class
DefaultPoolConfig<POOLABLE>

A default PoolConfig that can be extended to bear more configuration options with access to a copy constructor for the basic options.

pack-priv class
NoOpPoolMetricsRecorder

A No-Op PoolMetricsRecorder that can be used as a default if instrumentation is not desired.

public class
PoolAcquirePendingLimitException

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.

public class
PoolAcquireTimeoutException

A specialized TimeoutException that denotes that a Pool#acquire(Duration) has timed out.

public class
PoolBuilder<
the type of elements in the produced Pool
T
,
the PoolConfig flavor this builder will provide to the created Pool
CONF extends PoolConfig<T>
>

A builder for Pool implementations, which tuning methods map to a PoolConfig subclass, CONF.

public class
PoolShutdownException

A RuntimeException that denotes that a Pool has been disposed.

public class
SimpleDequePool<POOLABLE>

The SimpleDequePool is based on Deque for idle resources and pending Pool#acquire() Monos, allowing both to be ordered either LIFO or FIFO.