diff --git a/spring-pulsar/src/main/java/org/springframework/pulsar/listener/DefaultPulsarMessageListenerContainer.java b/spring-pulsar/src/main/java/org/springframework/pulsar/listener/DefaultPulsarMessageListenerContainer.java index 5efa1e3a..0d071958 100644 --- a/spring-pulsar/src/main/java/org/springframework/pulsar/listener/DefaultPulsarMessageListenerContainer.java +++ b/spring-pulsar/src/main/java/org/springframework/pulsar/listener/DefaultPulsarMessageListenerContainer.java @@ -781,15 +781,8 @@ public class DefaultPulsarMessageListenerContainer extends AbstractPulsarMess this.pulsarConsumerErrorHandler.recoverMessage(this.consumer, pulsarMessage, pulsarBatchListenerFailedException); handleAck(pulsarMessage, txn); - if (messageList.size() == 1) { - messagesPendingInBatch.set(false); - } - else { - messageList = messageList.subList(1, messageList.size()); - } - if (!messageList.isEmpty()) { - messagesPendingInBatch.set(true); - } + messageList.remove(0); + messagesPendingInBatch.set(!messageList.isEmpty()); this.pulsarConsumerErrorHandler.clearMessage(); } return messageList;