diff --git a/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java b/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java index c1764a426f..8a89f5cdd6 100755 --- a/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java +++ b/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java @@ -125,10 +125,10 @@ public class ImapMailReceiver extends AbstractMailReceiver { Flags supportedFlags = this.getFolder().getPermanentFlags(); SearchTerm searchTerm = this.compileSearchTerms(supportedFlags); Folder folder = this.getFolder(); - if (folder.isOpen()){ + if (folder.isOpen()) { Message[] messages = searchTerm != null ? folder.search(searchTerm) : folder.getMessages(); for (Message message : messages) { - ((IMAPMessage)message).setPeek(true); + ((IMAPMessage) message).setPeek(true); } return messages; } diff --git a/spring-integration-mail/src/main/java/org/springframework/integration/mail/config/MailReceiverFactoryBean.java b/spring-integration-mail/src/main/java/org/springframework/integration/mail/config/MailReceiverFactoryBean.java index 5ef7144c72..1c4e9429bc 100644 --- a/spring-integration-mail/src/main/java/org/springframework/integration/mail/config/MailReceiverFactoryBean.java +++ b/spring-integration-mail/src/main/java/org/springframework/integration/mail/config/MailReceiverFactoryBean.java @@ -92,6 +92,14 @@ public class MailReceiverFactoryBean implements FactoryBean, Dispo this.shouldDeleteMessages = shouldDeleteMessages; } + public void setShouldMarkMessagesAsRead(Boolean shouldMarkMessagesAsRead) { + this.shouldMarkMessagesAsRead = shouldMarkMessagesAsRead; + } + + public Boolean isShouldMarkMessagesAsRead() { + return shouldMarkMessagesAsRead != null && shouldMarkMessagesAsRead; + } + public void setMaxFetchSize(int maxFetchSize) { this.maxFetchSize = maxFetchSize; } @@ -156,13 +164,14 @@ public class MailReceiverFactoryBean implements FactoryBean, Dispo } receiver.setMaxFetchSize(this.maxFetchSize); receiver.setSelectorExpression(selectorExpression); - - if (isPop3){ - if (this.isShouldMarkMessagesAsRead()){ + + if (isPop3) { + if (this.isShouldMarkMessagesAsRead() && this.logger.isWarnEnabled()) { logger.warn("Setting 'should-mark-messages-as-read' to 'true' while using POP3 has no effect"); } - } else if (isImap){ - ((ImapMailReceiver)receiver).setShouldMarkMessagesAsRead(this.shouldMarkMessagesAsRead); + } + else if (isImap) { + ((ImapMailReceiver) receiver).setShouldMarkMessagesAsRead(this.shouldMarkMessagesAsRead); } receiver.afterPropertiesSet(); return receiver; @@ -174,11 +183,4 @@ public class MailReceiverFactoryBean implements FactoryBean, Dispo } } - public Boolean isShouldMarkMessagesAsRead() { - return shouldMarkMessagesAsRead != null && shouldMarkMessagesAsRead; - } - - public void setShouldMarkMessagesAsRead(Boolean shouldMarkMessagesAsRead) { - this.shouldMarkMessagesAsRead = shouldMarkMessagesAsRead; - } }