是否可以禁用弹簧批次的跳过限制?

时间:2017-03-23 11:43:51

标签: java xml spring spring-batch

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

我的batch.xmlskip-limit="${limit_val}"

我想将${limit_val}设置为0,这意味着默认情况下会在任何异常上失败。看到失败后,我可以查看原因,并决定是否可以跳过记录。如果可跳过,我希望能够覆盖${limit_val},其值为1,并重新运行批处理。

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

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用skip-policy属性? 在步骤中的chunk中定义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;

    }
    }