本文介绍了在春季批次的ItemWriter中无法捕获异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我正在编写一个Spring批处理过程来将数据集从一个系统迁移到另一个系统。在本例中,这与使用RowMapper
实现在将对象移交给ItemWriter
之前从查询构建对象一样简单。ItemWriter
调用我的DAO上的save
方法(定义为接口,由Spring数据处理),问题是:我对MyItem表有一个唯一的约束,因此保存重复的记录将导致DataIntegrityViolationException
。我曾尝试在ItemWriter
中捕获它,以允许我记录没有导入记录,但是在执行过程中,它从未进入该catch语句。我也曾尝试捕获Exception
和Throwable
,但都无济于事。,据我所知,在我的DAO的”save”方法上有一个@Transactional
注释,我希望在其中发生提交和刷新。Spring Batch会以任何方式改变这个事务吗?以便@Transactional
批注应用于ItemWriter
?,的‘write’方法,我甚至可以捕获此类中的异常吗?,我在下面提供了代码片段,如果您需要更多信息,请让我知道。,非常感谢您能提供的任何帮助,ItemWriter,DAO,Spring批量配置,这里有几点:,考虑上述因素后,您有两个选择:,您可以在5.1.5节中阅读有关Spring Batch跳过逻辑的更多信息:http://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html,这篇关于在春季批次的ItemWriter中无法捕获异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,