我正在寻找一种禁用spring batch的跳过限制的方法,我尝试为跳过限制指定值“0”,但不接受。这是我的用例:

我的batch.xmlskip-limit="${limit_val}"
我想将${limit_val}设置为0,这意味着默认情况下在发生任何异常时都会失败。看到失败后,我可以查看原因并决定是否可以跳过记录。如果可以跳过,我希望能够使用值为1覆盖${limit_val}并重新运行该批处理。

如何实现这一目标的任何帮助?

最佳答案

您是否尝试过使用skip-policy属性?
在步骤下的块中,定义skip-policy =“mySkipPolicy”,然后给出skipPolicy bean的定义。

通过实现SkipPolicy接口,提供skipPolicy bean实现。

    public class MySkipPolicy implements SkipPolicy
    {
    private int limit;
    public boolean shouldSkip(final Throwable t, final int skipCount) throws SkipLimitExceededException
    {
    return true or false based on skipCount;

    }
    }

09-03 22:25