diff --git a/spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java b/spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java index a859cce0bb..87222dfea0 100644 --- a/spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java +++ b/spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java @@ -172,6 +172,7 @@ * @author Sanghyeok An * @author Christian Fredriksson * @author Timofey Barabanov + * @author Janek Lasocki-Biczysko */ public class KafkaMessageListenerContainer // NOSONAR line count extends AbstractMessageListenerContainer implements ConsumerPauseResumeEventPublisher { @@ -2237,12 +2238,9 @@ protected void doInTransactionWithoutResult(TransactionStatus status) { } private List> createRecordList(final ConsumerRecords records) { - Iterator> iterator = records.iterator(); - List> list = new LinkedList<>(); - while (iterator.hasNext()) { - list.add(iterator.next()); - } - return list; + List> recordList = new ArrayList<>(records.count()); + records.forEach(recordList::add); + return recordList; } /**