在春季批处理中结合CompositeItemProcessor和CompositeItemWriter

时间:2019-11-26 03:50:17

标签: spring spring-batch

我有一个以下步骤的方案:
1。读者将从表A中获得列表A。
2。处理器处理列表A以返回对象A和MimeMessage。
3。作者将对象A写入表B,然后使用MimeMessage发送邮件。

在上述情况下,我可以使用CompositeItemProcessor和CompositeItemWriter吗?如果是,那么如何在“步骤”配置中设置输出对象,以及如何定义用于发送邮件的ItemWriter将使用MimeMessage,而将用于插入数据库的ItemWriter将使用对象A。

我的问题有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

如何定义要发送邮件的ItemWriter接受MimeMessage或如何为插入数据库的ItemWriter接受对象A。

您可以使用ClassifierCompositeItemWriter。该复合编写器使用Classifier对项目(在您的情况下为Type A或MimeMessage)进行分类,并为每种类型调用一个委托编写器。