我正在寻找一种禁用spring batch的跳过限制的方法,我尝试为跳过限制指定值“0”,但不接受。这是我的用例:
我的batch.xml
有skip-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;
}
}