我在步执行监听器中进行了文件名验证。如果文件名无效,我想终止/停止步骤进入阅读器。如何在枝条批次中实现这一目标?
答案 0 :(得分:2)
侦听器是进行数据验证的错误位置。如果必须验证单个数据项,请使用处理器并抛出适当的异常。
如果要验证更多“常规”方面(如文件名或文件的存在或任何其他不属于单个项目的条件),请在处理步骤之前使用tasklet步骤。
答案 1 :(得分:1)
Hansjoerg的回答是一个有效的观点。至于如何实现你想要做的事情,这里有一个例子:
@Override
public ExitStatus afterStep(StepExecution stepExecution) {
return ExitStatus.FAILED;
}
这将返回您可以在FAILED
标记上使用的ExitStatus <next on="" />
,以防止进入阅读器。
答案 2 :(得分:0)
解决问题的最佳选择是使用JobExecutionDecider执行文件名验证并停止工作或转到下一步