使2个编写器成为事务性Spring批处理

eqoofvh9  于 2022-11-21  发布在  Spring
关注(0)|答案(1)|浏览(86)

如何创建事务性的2个编写器-一个JDBC编写器和一个平面文件编写器?
例如,当要写入的目录不存在时,我有一个fileNotFoundException。但另一个JDBC编写器已经写入了数据库。
我在编写器中尝试了@Transactional,但在压缩器中发生了异常。

e4eetjau

e4eetjau1#

您需要使用带有两个项目编写器的CompositeItemWriter。事务将围绕复合编写器,因此如果其中一个委托失败,事务将回滚,另一个委托的操作也将恢复。
在您的情况下,写入文件失败将使数据库插入由于事务回滚而被还原。

相关问题