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_FREQUENCY
Fields inherited from class org.springframework.ws.transport.mail.monitor.AbstractMonitoringStrategy
logger
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
afterSleep
(jakarta.mail.Folder folder) Re-opens the folder, if it closed.protected void
deleteMessages
(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()
.void
setDeleteMessages
(boolean deleteMessages) Sets whether messages should be marked asDELETED
after they have been read.Methods inherited from class org.springframework.ws.transport.mail.monitor.PollingMonitoringStrategy
setPollingInterval, waitForNewMessages
Methods 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:AbstractMonitoringStrategy
Sets whether messages should be marked asDELETED
after they have been read. Default istrue
.- Overrides:
setDeleteMessages
in classAbstractMonitoringStrategy
-
afterSleep
protected void afterSleep(jakarta.mail.Folder folder) throws jakarta.mail.MessagingException Re-opens the folder, if it closed.- Overrides:
afterSleep
in 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:
searchForNewMessages
in 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:
deleteMessages
in classAbstractMonitoringStrategy
- Parameters:
folder
- the folder to delete messages frommessages
- the messages to delete- Throws:
jakarta.mail.MessagingException
- in case of JavaMail errors
-