Class MonitoringQueueProducer<PayloadT>
- java.lang.Object
-
- ru.yoomoney.tech.dbqueue.api.impl.MonitoringQueueProducer<PayloadT>
-
- Type Parameters:
PayloadT- The type of the payload in the task
- All Implemented Interfaces:
QueueProducer<PayloadT>
public class MonitoringQueueProducer<PayloadT> extends java.lang.Object implements QueueProducer<PayloadT>
Wrapper for queue producer with logging and monitoring support- Since:
- 11.06.2021
-
-
Constructor Summary
Constructors Constructor Description MonitoringQueueProducer(QueueProducer<PayloadT> queueProducer, QueueId queueId)ConstructorMonitoringQueueProducer(QueueProducer<PayloadT> queueProducer, QueueId queueId, java.util.function.BiConsumer<EnqueueResult,java.lang.Long> monitoringCallback)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EnqueueResultenqueue(EnqueueParams<PayloadT> enqueueParams)Add a new task into the queueTaskPayloadTransformer<PayloadT>getPayloadTransformer()Get task payload transformer, which transform the task's payload into the String
-
-
-
Constructor Detail
-
MonitoringQueueProducer
public MonitoringQueueProducer(@Nonnull QueueProducer<PayloadT> queueProducer, @Nonnull QueueId queueId, @Nonnull java.util.function.BiConsumer<EnqueueResult,java.lang.Long> monitoringCallback)Constructor- Parameters:
queueProducer- Task producer for the queuequeueId- Id of the queuemonitoringCallback- Callback invoked after putting a task in the queue. It might help to monitor enqueue time.
-
MonitoringQueueProducer
public MonitoringQueueProducer(@Nonnull QueueProducer<PayloadT> queueProducer, @Nonnull QueueId queueId)Constructor- Parameters:
queueProducer- Task producer for the queuequeueId- Id of the queue
-
-
Method Detail
-
enqueue
public EnqueueResult enqueue(@Nonnull EnqueueParams<PayloadT> enqueueParams)
Description copied from interface:QueueProducerAdd a new task into the queue- Specified by:
enqueuein interfaceQueueProducer<PayloadT>- Parameters:
enqueueParams- Parameters with typed payload to enqueue the task- Returns:
- Enqueue result
-
getPayloadTransformer
@Nonnull public TaskPayloadTransformer<PayloadT> getPayloadTransformer()
Description copied from interface:QueueProducerGet task payload transformer, which transform the task's payload into the String- Specified by:
getPayloadTransformerin interfaceQueueProducer<PayloadT>- Returns:
- Task payload transformer
-
-