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.
Constructor and Description |
---|
SimpleMailMessageItemWriter() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Check mandatory properties (mailSender).
|
void |
setMailErrorHandler(MailErrorHandler mailErrorHandler)
The handler for failed messages.
|
void |
setMailSender(org.springframework.mail.MailSender mailSender)
A
MailSender to be used to send messages in write(List) . |
void |
write(java.util.List<? extends org.springframework.mail.SimpleMailMessage> items)
Process the supplied data element.
|
public void setMailSender(org.springframework.mail.MailSender mailSender)
MailSender
to be used to send messages in write(List)
.mailSender
- The MailSender
to be used.public void setMailErrorHandler(MailErrorHandler mailErrorHandler)
DefaultMailErrorHandler
.mailErrorHandler
- the mail error handler to setpublic void afterPropertiesSet() throws java.lang.IllegalStateException
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.IllegalStateException
- if the mandatory properties are not setInitializingBean.afterPropertiesSet()
public void write(java.util.List<? extends org.springframework.mail.SimpleMailMessage> items) throws org.springframework.mail.MailException
ItemWriter
write
in interface ItemWriter<org.springframework.mail.SimpleMailMessage>
items
- the items to sendorg.springframework.mail.MailException
ItemWriter.write(List)