diff --git a/spring-kafka/src/main/java/org/springframework/kafka/support/converter/BatchMessagingMessageConverter.java b/spring-kafka/src/main/java/org/springframework/kafka/support/converter/BatchMessagingMessageConverter.java index ec37d82075..7b29b566c6 100644 --- a/spring-kafka/src/main/java/org/springframework/kafka/support/converter/BatchMessagingMessageConverter.java +++ b/spring-kafka/src/main/java/org/springframework/kafka/support/converter/BatchMessagingMessageConverter.java @@ -175,17 +175,18 @@ public Message toMessage(List> records, @Nullable Acknow new KafkaMessageHeaders(this.generateMessageId, this.generateTimestamp); Map rawHeaders = kafkaMessageHeaders.getRawHeaders(); - List payloads = new ArrayList<>(); - List keys = new ArrayList<>(); - List topics = new ArrayList<>(); - List partitions = new ArrayList<>(); - List offsets = new ArrayList<>(); - List timestampTypes = new ArrayList<>(); - List timestamps = new ArrayList<>(); - List> convertedHeaders = new ArrayList<>(); - List natives = new ArrayList<>(); - List> raws = new ArrayList<>(); - List conversionFailures = new ArrayList<>(); + int batchSize = records.size(); + List payloads = new ArrayList<>(batchSize); + List keys = new ArrayList<>(batchSize); + List topics = new ArrayList<>(batchSize); + List partitions = new ArrayList<>(batchSize); + List offsets = new ArrayList<>(batchSize); + List timestampTypes = new ArrayList<>(batchSize); + List timestamps = new ArrayList<>(batchSize); + List> convertedHeaders = new ArrayList<>(batchSize); + List natives = new ArrayList<>(batchSize); + List> raws = new ArrayList<>(batchSize); + List conversionFailures = new ArrayList<>(batchSize); addToRawHeaders(rawHeaders, convertedHeaders, natives, raws, conversionFailures); commonHeaders(acknowledgment, consumer, rawHeaders, keys, topics, partitions, offsets, timestampTypes,