Class Pop3PollingMonitoringStrategy
java.lang.Object
org.springframework.ws.transport.mail.monitor.AbstractMonitoringStrategy
org.springframework.ws.transport.mail.monitor.PollingMonitoringStrategy
org.springframework.ws.transport.mail.monitor.Pop3PollingMonitoringStrategy
- All Implemented Interfaces:
MonitoringStrategy
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.
- Since:
- 1.5.0
- Author:
- Arjen Poutsma
-
Field Summary
Fields inherited from class org.springframework.ws.transport.mail.monitor.PollingMonitoringStrategy
DEFAULT_POLLING_FREQUENCYFields inherited from class org.springframework.ws.transport.mail.monitor.AbstractMonitoringStrategy
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidafterSleep(jakarta.mail.Folder folder) Re-opens the folder, if it closed.protected voiddeleteMessages(jakarta.mail.Folder folder, jakarta.mail.Message[] messages) Deletes the given messages from the given folder, and closes it to expunge deleted messages.protected jakarta.mail.Message[]searchForNewMessages(jakarta.mail.Folder folder) Simply returnsFolder.getMessages().voidsetDeleteMessages(boolean deleteMessages) Sets whether messages should be marked asDELETEDafter they have been read.Methods inherited from class org.springframework.ws.transport.mail.monitor.PollingMonitoringStrategy
setPollingInterval, waitForNewMessagesMethods inherited from class org.springframework.ws.transport.mail.monitor.AbstractMonitoringStrategy
fetchMessages, getFolderOpenMode, monitor
-
Constructor Details
-
Pop3PollingMonitoringStrategy
public Pop3PollingMonitoringStrategy()
-
-
Method Details
-
setDeleteMessages
public void setDeleteMessages(boolean deleteMessages) Description copied from class:AbstractMonitoringStrategySets whether messages should be marked asDELETEDafter they have been read. Default istrue.- Overrides:
setDeleteMessagesin classAbstractMonitoringStrategy
-
afterSleep
protected void afterSleep(jakarta.mail.Folder folder) throws jakarta.mail.MessagingException Re-opens the folder, if it closed.- Overrides:
afterSleepin classPollingMonitoringStrategy- Parameters:
folder- the folder to check for new messages- Throws:
jakarta.mail.MessagingException- in case of JavaMail errors
-
searchForNewMessages
protected jakarta.mail.Message[] searchForNewMessages(jakarta.mail.Folder folder) throws jakarta.mail.MessagingException Simply returnsFolder.getMessages().- Overrides:
searchForNewMessagesin classAbstractMonitoringStrategy- Parameters:
folder- the folder to retrieve new messages from- Returns:
- the new messages
- Throws:
jakarta.mail.MessagingException- in case of JavaMail errors
-
deleteMessages
protected void deleteMessages(jakarta.mail.Folder folder, jakarta.mail.Message[] messages) throws jakarta.mail.MessagingException Deletes the given messages from the given folder, and closes it to expunge deleted messages.- Overrides:
deleteMessagesin classAbstractMonitoringStrategy- Parameters:
folder- the folder to delete messages frommessages- the messages to delete- Throws:
jakarta.mail.MessagingException- in case of JavaMail errors
-