Spring 批量跳过所有并在 StepListener 中获取异常

Spring Batch skip all and get that exceptions in StepListener

我想跳过所有异常(使用 AlwaysSkipPolicy),然后在 StepListener 中处理所有跳过的错误异常。 我想在包含 written/read 个项目的步骤结束时创建摘要消息,并在发生任何异常时说明跳过了多少个项目以及有哪些异常。 当我使用 skip policy always true + step 监听器时,我在“failureExceptions”中有 0 个异常。当我关闭跳过策略时,我在那里遇到了异常,但是当发生异常时,作业停止了。

SkipListener 就是您要找的。它允许您在面向块的步骤(即读取、处理和写入)的所有阶段拦截跳过的项目。此侦听器使您可以访问跳过的项目和导致它被跳过的异常,因此您应该能够使用此侦听器实现所需的报告。