public abstract class AbstractMailReceiver extends IntegrationObjectSupport implements MailReceiver, org.springframework.beans.factory.DisposableBean
MailReceiver implementations.MailReceiver.MailReceiverContext| Modifier and Type | Field and Description |
|---|---|
protected int |
folderOpenMode |
protected boolean |
initialized |
protected org.apache.commons.logging.Log |
logger |
static java.lang.String |
SI_USER_FLAG |
| Constructor and Description |
|---|
AbstractMailReceiver() |
AbstractMailReceiver(java.lang.String url) |
AbstractMailReceiver(javax.mail.URLName urlName) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
deleteMessages(javax.mail.Message[] messages)
Deletes the given messages from this receiver's folder.
|
void |
destroy() |
protected void |
fetchMessages(javax.mail.Message[] messages)
Fetches the specified messages from this receiver's folder.
|
protected javax.mail.Folder |
getFolder() |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
protected void |
openFolder() |
javax.mail.Message[] |
receive() |
protected abstract javax.mail.Message[] |
searchForNewMessages()
Subclasses must implement this method to return new mail messages.
|
protected void |
setAdditionalFlags(javax.mail.Message message)
Optional method allowing you to set additional flags.
|
void |
setJavaMailAuthenticator(javax.mail.Authenticator javaMailAuthenticator)
Optional, sets the Authenticator to be used to obtain a session.
|
void |
setJavaMailProperties(java.util.Properties javaMailProperties)
A new
Session will be created with these properties (and the JavaMailAuthenticator if provided). |
void |
setMaxFetchSize(int maxFetchSize)
Specify the maximum number of Messages to fetch per call to
receive(). |
void |
setProtocol(java.lang.String protocol) |
void |
setSelectorExpression(org.springframework.expression.Expression selectorExpression) |
void |
setSession(javax.mail.Session session)
Set the
Session. |
void |
setShouldDeleteMessages(boolean shouldDeleteMessages)
Specify whether mail messages should be deleted after retrieval.
|
protected boolean |
shouldDeleteMessages()
Indicates whether the mail messages should be deleted after being received.
|
java.lang.String |
toString() |
afterPropertiesSet, getApplicationContextId, getBeanFactory, getComponentName, getComponentType, getConversionService, getIntegrationProperties, getIntegrationProperty, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskSchedulerpublic static final java.lang.String SI_USER_FLAG
protected final org.apache.commons.logging.Log logger
protected volatile int folderOpenMode
protected volatile boolean initialized
public AbstractMailReceiver()
public AbstractMailReceiver(javax.mail.URLName urlName)
public AbstractMailReceiver(java.lang.String url)
public void setSelectorExpression(org.springframework.expression.Expression selectorExpression)
public void setProtocol(java.lang.String protocol)
public void setSession(javax.mail.Session session)
Session. Otherwise, the Session will be created by invocation of
Session.getInstance(Properties) or Session.getInstance(Properties, Authenticator).public void setJavaMailProperties(java.util.Properties javaMailProperties)
Session will be created with these properties (and the JavaMailAuthenticator if provided).
Use either this method or setSession(javax.mail.Session), but not both.public void setJavaMailAuthenticator(javax.mail.Authenticator javaMailAuthenticator)
setSession(javax.mail.Session) has been used to configure the Session directly.setSession(Session)public void setMaxFetchSize(int maxFetchSize)
receive().public void setShouldDeleteMessages(boolean shouldDeleteMessages)
protected boolean shouldDeleteMessages()
protected javax.mail.Folder getFolder()
protected abstract javax.mail.Message[] searchForNewMessages()
throws javax.mail.MessagingException
javax.mail.MessagingExceptionprotected void openFolder()
throws javax.mail.MessagingException
javax.mail.MessagingExceptionpublic javax.mail.Message[] receive()
throws javax.mail.MessagingException
receive in interface MailReceiverjavax.mail.MessagingExceptionprotected void fetchMessages(javax.mail.Message[] messages)
throws javax.mail.MessagingException
fetches
every FetchProfile.Item.messages - the messages to fetchjavax.mail.MessagingException - in case of JavaMail errorsprotected void deleteMessages(javax.mail.Message[] messages)
throws javax.mail.MessagingException
messages - the messages to deletejavax.mail.MessagingException - in case of JavaMail errorsprotected void setAdditionalFlags(javax.mail.Message message)
throws javax.mail.MessagingException
message - javax.mail.MessagingExceptionpublic void destroy()
throws java.lang.Exception
destroy in interface org.springframework.beans.factory.DisposableBeanjava.lang.Exceptionprotected void onInit()
throws java.lang.Exception
IntegrationObjectSupportonInit in class IntegrationObjectSupportjava.lang.Exceptionpublic java.lang.String toString()
toString in class IntegrationObjectSupport