org.springframework.integration.adapter.mail.monitor
Class Pop3PollingMonitoringStrategy

java.lang.Object
  extended by org.springframework.integration.adapter.mail.monitor.AbstractMonitoringStrategy
      extended by org.springframework.integration.adapter.mail.monitor.PollingMonitoringStrategy
          extended by org.springframework.integration.adapter.mail.monitor.Pop3PollingMonitoringStrategy
All Implemented Interfaces:
MonitoringStrategy

public class Pop3PollingMonitoringStrategy
extends PollingMonitoringStrategy

Implementation of the MonitoringStrategy interface that uses a simple polling mechanism suitable for POP3 servers. Since POP3 does not have a native mechanism to determine which messages are "new", this implementation simply retrieves all messages in the Folder, and delete them afterwards. All messages in the POP3 mailbox are therefore, by definition, new.

Setting the deleteMessages property is therefore ignored: messages are always deleted.

Author:
Arjen Poutsma

Field Summary
 
Fields inherited from class org.springframework.integration.adapter.mail.monitor.AbstractMonitoringStrategy
logger
 
Constructor Summary
Pop3PollingMonitoringStrategy()
           
 
Method Summary
protected  void deleteMessages(javax.mail.Folder folder, javax.mail.Message[] messages)
          Deletes the given messages from the given folder, and closes it to expunge deleted messages.
protected  javax.mail.Message[] searchForNewMessages(javax.mail.Folder folder)
          Simply returns Folder.getMessages().
 void setDeleteMessages(boolean deleteMessages)
          Sets whether messages should be marked as DELETED after they have been read.
 
Methods inherited from class org.springframework.integration.adapter.mail.monitor.AbstractMonitoringStrategy
fetchMessages, getFolderOpenMode, receive, setMaxMessagePerDownload
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pop3PollingMonitoringStrategy

public Pop3PollingMonitoringStrategy()
Method Detail

setDeleteMessages

public void setDeleteMessages(boolean deleteMessages)
Description copied from class: AbstractMonitoringStrategy
Sets whether messages should be marked as DELETED after they have been read. Default is true.

Overrides:
setDeleteMessages in class AbstractMonitoringStrategy

searchForNewMessages

protected javax.mail.Message[] searchForNewMessages(javax.mail.Folder folder)
                                             throws javax.mail.MessagingException
Simply returns Folder.getMessages().

Overrides:
searchForNewMessages in class AbstractMonitoringStrategy
Parameters:
folder - the folder to retrieve new messages from
Returns:
the new messages
Throws:
javax.mail.MessagingException - in case of JavaMail errors

deleteMessages

protected void deleteMessages(javax.mail.Folder folder,
                              javax.mail.Message[] messages)
                       throws javax.mail.MessagingException
Deletes the given messages from the given folder, and closes it to expunge deleted messages.

Overrides:
deleteMessages in class AbstractMonitoringStrategy
Parameters:
folder - the folder to delete messages from
messages - the messages to delete
Throws:
javax.mail.MessagingException - in case of JavaMail errors