Class SimpleMailMessageItemWriter

  • All Implemented Interfaces:
    ItemWriter<org.springframework.mail.SimpleMailMessage>, org.springframework.beans.factory.InitializingBean

    public class SimpleMailMessageItemWriter
    extends java.lang.Object
    implements ItemWriter<org.springframework.mail.SimpleMailMessage>, org.springframework.beans.factory.InitializingBean

    A simple ItemWriter that can send mail messages. If it fails there is no guarantee about which of the messages were sent, but the ones that failed can be picked up in the error handler. Because the mail protocol is not transactional, failures should be dealt with here if possible rather than allowing them to be rethrown (which is the default).

    Delegates the actual sending of messages to a MailSender, using the batch method MailSender.send(SimpleMailMessage[]), which normally uses a single server connection for the whole batch (depending on the implementation). The efficiency of for large volumes of messages (repeated calls to the item writer) might be improved by the use of a special MailSender that caches connections to the server in between calls.

    Stateless, so automatically restartable.

    Since:
    2.1
    Author:
    Dave Syer
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidafterPropertiesSet()
      Check mandatory properties (mailSender).
      voidsetMailErrorHandler​(MailErrorHandler mailErrorHandler)
      The handler for failed messages.
      voidsetMailSender​(org.springframework.mail.MailSender mailSender)
      A MailSender to be used to send messages in write(List).
      voidwrite​(java.util.List<? extends org.springframework.mail.SimpleMailMessage> items)
      Process the supplied data element.
      • Methods inherited from class java.lang.Object

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

      • SimpleMailMessageItemWriter

        public SimpleMailMessageItemWriter()
    • Method Detail

      • setMailSender

        public void setMailSender​(org.springframework.mail.MailSender mailSender)
        A MailSender to be used to send messages in write(List).
        Parameters:
        mailSender - The MailSender to be used.
      • setMailErrorHandler

        public void setMailErrorHandler​(MailErrorHandler mailErrorHandler)
        The handler for failed messages. Defaults to a DefaultMailErrorHandler.
        Parameters:
        mailErrorHandler - the mail error handler to set
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.IllegalStateException
        Check mandatory properties (mailSender).
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        java.lang.IllegalStateException - if the mandatory properties are not set
        See Also:
        InitializingBean.afterPropertiesSet()
      • write

        public void write​(java.util.List<? extends org.springframework.mail.SimpleMailMessage> items)
                   throws org.springframework.mail.MailException
        Description copied from interface: ItemWriter
        Process the supplied data element. Will not be called with any null items in normal operation.
        Specified by:
        write in interface ItemWriter<org.springframework.mail.SimpleMailMessage>
        Parameters:
        items - the items to send
        Throws:
        org.springframework.mail.MailException
        See Also:
        ItemWriter.write(List)