我正在寻找一种方法来禁用spring batch的skip-limit,我尝试为skip-limit指定值“0”,但是不接受。这是我的用例:
我的batch.xml
有skip-limit="${limit_val}"
我想将${limit_val}
设置为0,这意味着默认情况下会在任何异常上失败。看到失败后,我可以查看原因,并决定是否可以跳过记录。如果可跳过,我希望能够覆盖${limit_val}
,其值为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;
}
}