Package com.rabbitmq.stream
Class ConsumerFlowStrategy.MessageCountConsumerFlowStrategy
- java.lang.Object
-
- com.rabbitmq.stream.ConsumerFlowStrategy.MessageCountConsumerFlowStrategy
-
- All Implemented Interfaces:
ConsumerFlowStrategy
- Enclosing interface:
- ConsumerFlowStrategy
public static class ConsumerFlowStrategy.MessageCountConsumerFlowStrategy extends Object implements ConsumerFlowStrategy
Strategy that provides the specified number of initial credits and a credit when the specified ratio of the chunk messages are processed.Make sure to call
MessageHandler.Context.processed()
on every message when using this strategy, otherwise the broker may stop sending messages to the consumer.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.rabbitmq.stream.ConsumerFlowStrategy
ConsumerFlowStrategy.Context, ConsumerFlowStrategy.CreditOnChunkArrivalConsumerFlowStrategy, ConsumerFlowStrategy.MessageCountConsumerFlowStrategy, ConsumerFlowStrategy.MessageProcessedCallback
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
initialCredits()
The initial number of credits for a subscription.ConsumerFlowStrategy.MessageProcessedCallback
start(ConsumerFlowStrategy.Context context)
Return the behavior forMessageHandler.Context.processed()
calls.
-
-
-
Method Detail
-
initialCredits
public int initialCredits()
Description copied from interface:ConsumerFlowStrategy
The initial number of credits for a subscription.It must be greater than 0. Values are usually between 1 and 10.
- Specified by:
initialCredits
in interfaceConsumerFlowStrategy
- Returns:
- initial number of credits
-
start
public ConsumerFlowStrategy.MessageProcessedCallback start(ConsumerFlowStrategy.Context context)
Description copied from interface:ConsumerFlowStrategy
Return the behavior forMessageHandler.Context.processed()
calls.This method is called for each chunk of messages. Implementations return a callback that will be called when applications consider a message dealt with and call
MessageHandler.Context.processed()
. The callback can count messages and provide credits accordingly.- Specified by:
start
in interfaceConsumerFlowStrategy
- Parameters:
context
- chunk context- Returns:
- the message processed callback
-
-