Example usage for org.springframework.integration.mail MailTransportUtils closeFolder

List of usage examples for org.springframework.integration.mail MailTransportUtils closeFolder

Introduction

In this page you can find the example usage for org.springframework.integration.mail MailTransportUtils closeFolder.

Prototype

public static void closeFolder(Folder folder, boolean expunge) 

Source Link

Document

Close the given JavaMail Folder and ignore any thrown exception.

Usage

From source file:org.springframework.integration.mail.AbstractMailReceiver.java

public Message[] receive() throws javax.mail.MessagingException {
    synchronized (this.folderMonitor) {
        try {//w  w  w . j  a v  a 2 s  .  c  o m
            this.openFolder();
            if (logger.isInfoEnabled()) {
                logger.info("attempting to receive mail from folder [" + this.getFolder().getFullName() + "]");
            }
            Message[] messages = this.searchForNewMessages();
            if (this.maxFetchSize > 0 && messages.length > this.maxFetchSize) {
                Message[] reducedMessages = new Message[this.maxFetchSize];
                System.arraycopy(messages, 0, reducedMessages, 0, this.maxFetchSize);
                messages = reducedMessages;
            }
            if (logger.isDebugEnabled()) {
                logger.debug("found " + messages.length + " new messages");
            }
            if (messages.length > 0) {
                this.fetchMessages(messages);
            }

            if (logger.isDebugEnabled()) {
                logger.debug("Received " + messages.length + " messages");
            }

            Message[] filteredMessages = this.filterMessagesThruSelector(messages);

            this.postProcessFilteredMessages(filteredMessages);

            return filteredMessages;
        } finally {
            MailTransportUtils.closeFolder(this.folder, this.shouldDeleteMessages);
        }
    }
}

From source file:org.springframework.integration.mail.AbstractMailReceiver.java

public void destroy() throws Exception {
    synchronized (this.folderMonitor) {
        MailTransportUtils.closeFolder(this.folder, this.shouldDeleteMessages);
        MailTransportUtils.closeService(this.store);
        this.folder = null;
        this.store = null;
        this.initialized = false;
    }/*w  ww . j av a2s. c  o m*/
}