Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring批处理-区块模型的条件步骤流_Spring_Spring Boot_Spring Batch_Spring Batch Tasklet - Fatal编程技术网

Spring批处理-区块模型的条件步骤流

Spring批处理-区块模型的条件步骤流,spring,spring-boot,spring-batch,spring-batch-tasklet,Spring,Spring Boot,Spring Batch,Spring Batch Tasklet,我有两个步骤,其中,如果步骤1处理器在过滤后没有返回任何项目,则应跳过步骤2。 我看到ItemListenerSupport可以扩展,并且可以利用后处理 @Override public void afterProcess(NumberInfo item, Integer result) { super.afterProcess(item, result); if (item.isPositive()) { stepExecution.setExitStatus(

我有两个步骤,其中,如果步骤1处理器在过滤后没有返回任何项目,则应跳过步骤2。 我看到
ItemListenerSupport
可以扩展,并且可以利用后处理

@Override
public void afterProcess(NumberInfo item, Integer result) {
    super.afterProcess(item, result);
    if (item.isPositive()) {
        stepExecution.setExitStatus(new ExitStatus(NOTIFY));
    }
}
我的处理是基于区块的,我想在处理完所有区块后设置退出状态,如果有未过滤的项目。我正在将未经筛选的项目添加到
ExecutionContext
,并在下一步中使用


如果所有区块的所有项目都被过滤掉,那么我将如何防止下一步的发生呢。此API允许您访问上一步的
步骤执行
,因此您可以根据上一步执行及其执行上下文中的任何信息来决定是否运行下一步。在您的情况下,它可以是过滤器计数,也可以是您预先存储在执行上下文中的对您的决策有意义的任何内容

您可以在参考文档的一节中找到有关此API的更多详细信息和一些代码示例