From 20959361f9fdb5aeba8abe7a085550784aecf89f Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 12 Jan 2011 16:54:19 -0500 Subject: [PATCH] INT-1702 polished the code so it doesn't throw unexpected exceptions during the ungraceful exit from the process (e.g., terminate Tomcat). --- .../springframework/integration/mail/ImapMailReceiver.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 7136b287f8..52c292aca9 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 @@ -118,7 +118,11 @@ public class ImapMailReceiver extends AbstractMailReceiver { protected Message[] searchForNewMessages() throws MessagingException { Flags supportedFlags = this.getFolder().getPermanentFlags(); SearchTerm searchTerm = this.compileSearchTerms(supportedFlags); - return searchTerm != null ? this.getFolder().search(searchTerm) : this.getFolder().getMessages(); + Folder folder = this.getFolder(); + if (folder.isOpen()){ + return searchTerm != null ? folder.search(searchTerm) : folder.getMessages(); + } + throw new MessagingException("Folder is closed"); } private SearchTerm compileSearchTerms(Flags supportedFlags){