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.
Type Parameters
Name | Description |
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)
Name | Description |
batchingDescriptor | BatchingDescriptor<RequestT,ResponseT> |
batchingSettings | BatchingSettings |
executor | ScheduledExecutorService |
flowController | FlowController |
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.
Type | Description |
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.
Name | Description |
partitionKey | PartitionKey |
Type | Description |
ThresholdBatcher<Batch<RequestT,ResponseT>> |