From 9f426500a190ee8ad1caccbd6291071d2f2b11f7 Mon Sep 17 00:00:00 2001 From: wangYX657211334 Date: Thu, 2 Sep 2021 22:48:29 +0800 Subject: [PATCH] GH-3619: Fix Mail Receiver fetch redundant Messages Fixes https://github.com/spring-projects/spring-integration/issues/3619 The `AbstractMailReceiver` fetche redundant messages, causing performance problems * Use correct, already filtered, array of message to fetch **Cherry-pick to `main` & `5.3.x`** --- .../springframework/integration/mail/AbstractMailReceiver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java b/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java index 7130e4106e..587c75f0ef 100755 --- a/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java +++ b/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java @@ -65,6 +65,7 @@ import org.springframework.util.MimeTypeUtils; * @author Gary Russell * @author Artem Bilan * @author Dominik Simmen + * @author Yuxin Wang */ public abstract class AbstractMailReceiver extends IntegrationObjectSupport implements MailReceiver, DisposableBean { @@ -413,7 +414,7 @@ public abstract class AbstractMailReceiver extends IntegrationObjectSupport impl } this.logger.debug(() -> "found " + messagesToProcess.length + " new messages"); if (messagesToProcess.length > 0) { - fetchMessages(messages); + fetchMessages(messagesToProcess); } this.logger.debug(() -> "Received " + messagesToProcess.length + " messages");