Spring batch 如何在spring批处理中停止/终止执行侦听器中的步骤?

Spring batch 如何在spring批处理中停止/终止执行侦听器中的步骤?,spring-batch,terminate,Spring Batch,Terminate,我在步骤执行侦听器中进行了文件名验证。如果文件名无效,我想终止/停止进入读卡器的步骤。如何在sprig批处理中实现这一点?侦听器是执行数据验证的错误位置。如果必须验证单个数据项,请使用处理器并引发适当的异常 如果要验证文件名、文件的存在或任何其他不属于单个项目的条件等更“一般”的方面,请在处理步骤之前使用tasklet步骤。侦听器是执行数据验证的错误位置。如果必须验证单个数据项,请使用处理器并引发适当的异常 如果要验证文件名、文件的存在或任何其他不属于单个项目的条件等更“一般”的方面,请在处理步

我在步骤执行侦听器中进行了文件名验证。如果文件名无效,我想终止/停止进入读卡器的步骤。如何在sprig批处理中实现这一点?

侦听器是执行数据验证的错误位置。如果必须验证单个数据项,请使用处理器并引发适当的异常


如果要验证文件名、文件的存在或任何其他不属于单个项目的条件等更“一般”的方面,请在处理步骤之前使用tasklet步骤。

侦听器是执行数据验证的错误位置。如果必须验证单个数据项,请使用处理器并引发适当的异常


如果要验证文件名、文件的存在或任何其他不属于单个项目的条件等更“一般”的方面,请在处理步骤之前使用tasklet步骤。

Hansjoerg的回答是正确的。至于如何实现你的目标,这里有一个例子:

@Override
public ExitStatus afterStep(StepExecution stepExecution) {
    return ExitStatus.FAILED;
}

这将返回一个ExitStatus
FAILED
,您可以在
标签上使用它来防止进入读卡器。

Hansjoerg的回答是正确的。至于如何实现你的目标,这里有一个例子:

@Override
public ExitStatus afterStep(StepExecution stepExecution) {
    return ExitStatus.FAILED;
}

这将返回一个ExitStatus
FAILED
,您可以在
标记上使用它来防止进入读卡器。

解决问题的最佳选择是使用执行文件名验证并停止作业或移动到下一步解决问题的最佳选择是使用执行文件名验证的位置验证并停止作业或进入下一步

谢谢大家。我按照建议将验证从侦听器转移到了Tasklet。谢谢大家。我按照建议将验证从侦听器移动到了Tasklet。