Class ShardingQueueProducer<PayloadTaskT,DatabaseAccessLayerT extends DatabaseAccessLayer>
- java.lang.Object
-
- ru.yoomoney.tech.dbqueue.api.impl.ShardingQueueProducer<PayloadTaskT,DatabaseAccessLayerT>
-
- Type Parameters:
PayloadTaskT- The type of the payload in the taskDatabaseAccessLayerT- The type of the database access layer
- All Implemented Interfaces:
QueueProducer<PayloadTaskT>
public class ShardingQueueProducer<PayloadTaskT,DatabaseAccessLayerT extends DatabaseAccessLayer> extends java.lang.Object implements QueueProducer<PayloadTaskT>
Wrapper for queue producer wrapper with sharding support.- Since:
- 11.06.2021
-
-
Constructor Summary
Constructors Constructor Description ShardingQueueProducer(QueueConfig queueConfig, TaskPayloadTransformer<PayloadTaskT> payloadTransformer, QueueShardRouter<PayloadTaskT,DatabaseAccessLayerT> queueShardRouter)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EnqueueResultenqueue(EnqueueParams<PayloadTaskT> enqueueParams)Add a new task into the queueTaskPayloadTransformer<PayloadTaskT>getPayloadTransformer()Get task payload transformer, which transform the task's payload into the String
-
-
-
Constructor Detail
-
ShardingQueueProducer
public ShardingQueueProducer(@Nonnull QueueConfig queueConfig, @Nonnull TaskPayloadTransformer<PayloadTaskT> payloadTransformer, @Nonnull QueueShardRouter<PayloadTaskT,DatabaseAccessLayerT> queueShardRouter)Constructor- Parameters:
queueConfig- Configuration of the queuepayloadTransformer- Transformer of a payload dataqueueShardRouter- Dispatcher for sharding support
-
-
Method Detail
-
enqueue
public EnqueueResult enqueue(@Nonnull EnqueueParams<PayloadTaskT> enqueueParams)
Description copied from interface:QueueProducerAdd a new task into the queue- Specified by:
enqueuein interfaceQueueProducer<PayloadTaskT>- Parameters:
enqueueParams- Parameters with typed payload to enqueue the task- Returns:
- Enqueue result
-
getPayloadTransformer
@Nonnull public TaskPayloadTransformer<PayloadTaskT> getPayloadTransformer()
Description copied from interface:QueueProducerGet task payload transformer, which transform the task's payload into the String- Specified by:
getPayloadTransformerin interfaceQueueProducer<PayloadTaskT>- Returns:
- Task payload transformer
-
-