Class MailMessageReceiver

java.lang.Object
org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport
org.springframework.ws.transport.support.SimpleWebServiceMessageReceiverObjectSupport
org.springframework.ws.transport.support.AbstractStandaloneMessageReceiver
org.springframework.ws.transport.support.AbstractAsyncStandaloneMessageReceiver
org.springframework.ws.transport.mail.MailMessageReceiver
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle

public class MailMessageReceiver extends org.springframework.ws.transport.support.AbstractAsyncStandaloneMessageReceiver
Server-side component for receiving email messages using JavaMail. Requires a transport URI, store URI, and monitoringStrategy to be set, in addition to the messageFactory and messageReceiver required by the base class.

The MonitoringStrategy is used to detect new incoming email request. If the monitoringStrategy is not explicitly set, this receiver will use the Pop3PollingMonitoringStrategy for POP3 servers, and the PollingMonitoringStrategy for IMAP servers.

Since:
1.5.0
  • Field Summary

    Fields inherited from class org.springframework.ws.transport.support.AbstractAsyncStandaloneMessageReceiver

    DEFAULT_THREAD_NAME_PREFIX

    Fields inherited from class org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    protected void
     
    protected void
     
    protected void
     
    protected void
     
    void
    Sets the from address to use when sending response messages.
    void
    setJavaMailProperties(Properties javaMailProperties)
    Set JavaMail properties for the Session.
    void
    Sets the monitoring strategy to use for retrieving new requests.
    void
    setSession(jakarta.mail.Session session)
    Set the JavaMail Session, possibly pulled from JNDI.
    void
    setStoreUri(String storeUri)
    Sets the JavaMail Store URI to be used for retrieving request messages.
    void
    setTransportUri(String transportUri)
    Sets the JavaMail Transport URI to be used for sending response messages.

    Methods inherited from class org.springframework.ws.transport.support.AbstractAsyncStandaloneMessageReceiver

    createDefaultTaskExecutor, execute, setBeanName, setTaskExecutor

    Methods inherited from class org.springframework.ws.transport.support.AbstractStandaloneMessageReceiver

    activate, destroy, isActive, isRunning, setAutoStartup, shutdown, start, stop

    Methods inherited from class org.springframework.ws.transport.support.SimpleWebServiceMessageReceiverObjectSupport

    getMessageReceiver, handleConnection, setMessageReceiver

    Methods inherited from class org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport

    getMessageFactory, handleConnection, handleNoEndpointFoundException, setMessageFactory

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MailMessageReceiver

      public MailMessageReceiver()
  • Method Details

    • setFrom

      public void setFrom(String from) throws jakarta.mail.internet.AddressException
      Sets the from address to use when sending response messages.
      Throws:
      jakarta.mail.internet.AddressException
    • setJavaMailProperties

      public void setJavaMailProperties(Properties javaMailProperties)
      Set JavaMail properties for the Session.

      A new Session will be created with those properties. Use either this method or setSession(jakarta.mail.Session), but not both.

      Non-default properties in this instance will override given JavaMail properties.

    • setSession

      public void setSession(jakarta.mail.Session session)
      Set the JavaMail Session, possibly pulled from JNDI.

      Default is a new Session without defaults, that is completely configured via this instance's properties.

      If using a pre-configured Session, non-default properties in this instance will override the settings in the Session.

      See Also:
    • setStoreUri

      public void setStoreUri(String storeUri)
      Sets the JavaMail Store URI to be used for retrieving request messages. Typically takes the form of [imap|pop3]://user:password@host:port/INBOX. Setting this property is required.

      For example, imap://john:secret@imap.example.com/INBOX

      See Also:
      • Session.getStore(URLName)
    • setTransportUri

      public void setTransportUri(String transportUri)
      Sets the JavaMail Transport URI to be used for sending response messages. Typically takes the form of smtp://user:password@host:port. Setting this property is required.

      For example, smtp://john:secret@smtp.example.com

      See Also:
      • Session.getTransport(URLName)
    • setMonitoringStrategy

      public void setMonitoringStrategy(MonitoringStrategy monitoringStrategy)
      Sets the monitoring strategy to use for retrieving new requests. Default is the PollingMonitoringStrategy.
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Overrides:
      afterPropertiesSet in class org.springframework.ws.transport.support.AbstractAsyncStandaloneMessageReceiver
      Throws:
      Exception
    • onActivate

      protected void onActivate() throws jakarta.mail.MessagingException
      Specified by:
      onActivate in class org.springframework.ws.transport.support.AbstractStandaloneMessageReceiver
      Throws:
      jakarta.mail.MessagingException
    • onStart

      protected void onStart()
      Specified by:
      onStart in class org.springframework.ws.transport.support.AbstractStandaloneMessageReceiver
    • onStop

      protected void onStop()
      Specified by:
      onStop in class org.springframework.ws.transport.support.AbstractStandaloneMessageReceiver
    • onShutdown

      protected void onShutdown()
      Specified by:
      onShutdown in class org.springframework.ws.transport.support.AbstractStandaloneMessageReceiver