【发布时间】:2019-11-08 05:28:16
【问题描述】:
给定一个 Spring Batch 作业,它使用面向块的处理从文件中读取数据,对数据执行一些处理并将转换后的记录写入数据库,有没有办法跳过记录如果写入数据库时出现异常并继续下一条记录? (某种拦截器?)
另外,据我了解,当无法写入给定块中的记录时(例如,值大于数据库列的长度),整个块将失败。我想要的是将此记录传递给某个拦截器,然后该拦截器可以尝试通过更正值或将错误记录写入某个日志文件来解决问题并继续下一条记录,而不是使批处理失败。我知道 Spring Batch 提供了一些在异常时触发的内置侦听器,但我无法弄清楚如何使用它们来做我想做的事情。
如何在 Spring Batch 中实现这一要求?
【问题讨论】:
-
请参考以下链接,看看它是否对您有帮助。 baeldung.com/spring-batch-skip-logic
标签: java spring exception spring-batch