Skip to content

Use batch mode for dynamic listener

I am using a dynamic message listener. An example is shown below. I want to convert this to a batch listener (consume multiple messages at once).

public class RetryMessageListener
    implements AcknowledgingConsumerAwareMessageListener<String, String> {

    public void onMessage(ConsumerRecord<String, String> consumerRecord, Acknowledgement acknowledgement, Consumer<?, ?> consumer) {



Is there a way to convert this, so that the listener consumes a list of consumer records? I am using spring-kafka with spring-boot.

Thanks in advance


Implement BatchAcknowledgingConsumerAwareMessageListener instead.

 * Listener for handling a batch of incoming Kafka messages, propagating an acknowledgment
 * handle that recipients can invoke when the message has been processed. The list is
 * created from the consumer records object returned by a poll. Access to the
 * {@link Consumer} is provided.