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 2a8887e342..6908833e84 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 @@ -296,10 +296,9 @@ public abstract class AbstractMailReceiver extends IntegrationObjectSupport impl */ protected void setAdditionalFlags(Message message) throws MessagingException {} - /** - * - */ + @Override protected void onInit() throws Exception { + super.onInit(); if (this.shouldDeleteMessages){ this.folderOpenMode = Folder.READ_WRITE; } 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 c1c3840960..d1a4384128 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 @@ -177,6 +177,7 @@ public class ImapMailReceiver extends AbstractMailReceiver { @Override protected void onInit() throws Exception { + super.onInit(); if (this.shouldMarkMessagesAsRead){ this.folderOpenMode = Folder.READ_WRITE; } diff --git a/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java b/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java index e0da8d65d1..6feb01f1f0 100644 --- a/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java +++ b/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java @@ -17,7 +17,6 @@ package org.springframework.integration.mail; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertTrue; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; @@ -165,8 +164,9 @@ public class ImapMailReceiverTests { } @Test public void receiveAndDontMarkAsReadButDelete() throws Exception{ - AbstractMailReceiver receiver = new Pop3MailReceiver(); - ((Pop3MailReceiver)receiver).setShouldDeleteMessages(true); + AbstractMailReceiver receiver = new ImapMailReceiver(); + ((ImapMailReceiver)receiver).setShouldDeleteMessages(true); + ((ImapMailReceiver)receiver).setShouldMarkMessagesAsRead(false); receiver = spy(receiver); receiver.afterPropertiesSet(); Message msg1 = mock(MimeMessage.class);