Mar*_*uba 5 spring-batch jsr352
我试图弄清楚如何为跳过限制设置无限值,而不仅仅是随机定义一个非常大的整数值。
jsr 352 特别指出“默认没有限制”。但我还没有弄清楚在实际定义可跳过异常时如何获得默认值。
我尝试了 0 和 -1,但都未能通过 Spring Batch 在创建作业时的步骤中执行的正数验证。如果在定义了可跳过异常时未添加跳过限制属性,则会生成错误并且不会启动作业。
我是否误解了规范的内容,或者 Spring Batch 在这种情况下没有正确实现 jsr?从表面上看,skip-limit 应该有某种默认为无限值的方法。
你可以这样做:
public class ItemSkipPolicy implements SkipPolicy {
public boolean shouldSkip(final Throwable t, final int skipCount) throws SkipLimitExceededException {
return true;
}
Run Code Online (Sandbox Code Playgroud)
并使用跳过策略而不是skipLimit
.faultTolerant().skipPolicy(new ItemSkipPolicy()).skip(RuntimeException.class)
Run Code Online (Sandbox Code Playgroud)
如果其他人看到此页面,希望这会有所帮助
来自JSR:
Skip-limit:指定如果块处理抛出任何配置的可跳过异常,则步骤将跳过的异常数。它必须是有效的 XML 整数值。它是一个可选属性。默认没有限制。
如果您尊重 Spring Batch 中的 JSR,您应该有这种行为。如果您不遵循 JSR,您将面临BATCH-2443。
| 归档时间: |
|
| 查看次数: |
8315 次 |
| 最近记录: |