Interface BatchingStrategy
-
- All Known Implementing Classes:
SimpleBatchingStrategy
public interface BatchingStrategyStrategy for batching messages. The methods will never be called concurrently.Experimental - APIs may change.
- Since:
- 1.4.1
- Author:
- Gary Russell
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description MessageBatchaddToBatch(String exchange, String routingKey, Message message)Add a message to the batch and optionally release the batch.default booleancanDebatch(MessageProperties properties)Return true if this strategy can decode a batch of messages from a message body.default voiddeBatch(Message message, Consumer<Message> fragmentConsumer)Decode a message into fragments.DatenextRelease()Collection<MessageBatch>releaseBatches()Release batch(es), perhaps due to a timeout.
-
-
-
Method Detail
-
addToBatch
MessageBatch addToBatch(String exchange, String routingKey, Message message)
Add a message to the batch and optionally release the batch.- Parameters:
exchange- The exchange.routingKey- The routing key.message- The message.- Returns:
- The batched message (
MessageBatch), or null if not ready to release.
-
nextRelease
Date nextRelease()
- Returns:
- the date the next scheduled release should run, or null if no data to release.
-
releaseBatches
Collection<MessageBatch> releaseBatches()
Release batch(es), perhaps due to a timeout.- Returns:
- The batched message(s).
-
canDebatch
default boolean canDebatch(MessageProperties properties)
Return true if this strategy can decode a batch of messages from a message body. Returning true means you must overridedeBatch(Message, Consumer).- Parameters:
properties- the message properties.- Returns:
- true if we can decode the message.
- Since:
- 2.2
- See Also:
deBatch(Message, Consumer)
-
deBatch
default void deBatch(Message message, Consumer<Message> fragmentConsumer)
Decode a message into fragments.- Parameters:
message- the message.fragmentConsumer- a consumer for fragments.- Since:
- 2.2
- See Also:
canDebatch(MessageProperties)
-
-