Class BatcherFactory<RequestT,ResponseT>

public final class BatcherFactory<RequestT,ResponseT>

A Factory class which, for each unique partitionKey, creates a trio including a ThresholdBatcher, BatchExecutor, and ThresholdBatchingForwarder. The ThresholdBatchingForwarder pulls items from the ThresholdBatcher and forwards them to the BatchExecutor for processing.

This is public only for technical reasons, for advanced usage.

Inheritance

java.lang.Object > BatcherFactory<RequestT,ResponseT>

Type Parameters

NameDescription
RequestT
ResponseT

Constructors

BatcherFactory(BatchingDescriptor<RequestT,ResponseT> batchingDescriptor, BatchingSettings batchingSettings, ScheduledExecutorService executor, FlowController flowController)

public BatcherFactory(BatchingDescriptor<RequestT,ResponseT> batchingDescriptor, BatchingSettings batchingSettings, ScheduledExecutorService executor, FlowController flowController)
Parameters
NameDescription
batchingDescriptorBatchingDescriptor<RequestT,ResponseT>
batchingSettingsBatchingSettings
executorScheduledExecutorService
flowControllerFlowController

Methods

getBatchingSettings()

public BatchingSettings getBatchingSettings()

Returns the BatchingSettings object that is associated with this factory.

This is public only for technical reasons, for advanced usage.

Returns
TypeDescription
BatchingSettings

getPushingBatcher(PartitionKey partitionKey)

public ThresholdBatcher<Batch<RequestT,ResponseT>> getPushingBatcher(PartitionKey partitionKey)

Provides the ThresholdBatcher corresponding to the given partitionKey, or constructs one if it doesn't exist yet. The implementation is thread-safe.

Parameter
NameDescription
partitionKeyPartitionKey
Returns
TypeDescription
ThresholdBatcher<Batch<RequestT,ResponseT>>