如何配置(基于xml)“容错”的Spring批处理作业,即。会在写失败时尊重SkipPolicy吗?
我找到了一些JavaConfig的文档,但没有找到基于xml的配置的文档。
到目前为止,它在第一次写入失败时中止了作业。
Günni
答案 0 :(得分:0)
当项目阅读器,处理器或编写器抛出异常时,Spring Batch会调用skip策略。 您无法在编写器级别定义它,因此我建议您指定自己的异常,以便它仅来自编写者;
您可以使用带有chunk元素的默认Spring批处理策略,并将其与跳过限制一起使用 即
<step id="stepWithSkipPolicy">
<tasklet>
<chunk reader="reader" writer="writer" commit-interval="100" skip-limit="10"/>
<batch:skippable-exception-classes>
<batch:include class="MyWriterException"/>
</batch:skippable-exception-classes>
</tasklet>
</step>
您可以在 org.springframework.batch.core.step.skip 包
下找到其他跳过政策您可以在chunck级别使用skip-policy属性插入自己的策略
<step id="stepWithSkipPolicy">
<tasklet>
<chunk reader="reader" writer="writer" commit-interval="100"
skip-policy="mySkipPolicy" />
</tasklet>
</step>
skip-limit属性和skippable-exception-classes 只要将自己的跳过策略插入某个步骤,标记就不会生效。