Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 batch 为什么要使用作业/步骤侦听器,而不是仅使用另外两个步骤/Tasklet(一个在开头,一个在结尾)?_Spring Batch - Fatal编程技术网

Spring batch 为什么要使用作业/步骤侦听器,而不是仅使用另外两个步骤/Tasklet(一个在开头,一个在结尾)?

Spring batch 为什么要使用作业/步骤侦听器,而不是仅使用另外两个步骤/Tasklet(一个在开头,一个在结尾)?,spring-batch,Spring Batch,由于作业侦听器具有在所有步骤之前和之后执行的回调方法,那么在所有步骤的开头和结尾分别执行另一个步骤,是否可以实现相同的效果?或者类似地,代替步骤侦听器,将一个tasklet放在所有tasklet之前,将另一个tasklet放在步骤的所有tasklet末尾?监听器有什么不同,不能用两个以上的步骤或小任务来完成?是因为监听器总是在发生故障时执行,还是因为存在其他设计逻辑&我不需要看到?监听器和步骤具有不同的含义、范围和事务划分。仔细阅读SB文档和相关示例,您将了解何时以及为什么使用步骤或侦听器。我们

由于作业侦听器具有在所有步骤之前和之后执行的回调方法,那么在所有步骤的开头和结尾分别执行另一个步骤,是否可以实现相同的效果?或者类似地,代替步骤侦听器,将一个tasklet放在所有tasklet之前,将另一个tasklet放在步骤的所有tasklet末尾?监听器有什么不同,不能用两个以上的步骤或小任务来完成?是因为监听器总是在发生故障时执行,还是因为存在其他设计逻辑&我不需要看到?

监听器和步骤具有不同的含义、范围和事务划分。仔细阅读SB文档和相关示例,您将了解何时以及为什么使用步骤或侦听器。我们可以用侦听器做什么,而不能用2个步骤/小任务做什么?反之亦然?通常事情可以用不同的方式完成:使用侦听器或步骤可以得到相同的结果,但它们的作用域和实用程序不同;可能您会在短时间内达到目标,但问题和维护困难会在中长期内出现。但是这个问题需要一个复杂的答案,所以这个问题不是合适的地方。