Processor
在单个顶点中可以是合作的还是非合作的?因为协同性是Processor
的属性,并且ProcessorSupplier
不需要返回相同类型的Processor
。或者是吗?
这个用例很奇怪且可以避免,但只是想知道......
答案 0 :(得分:1)
在ExecutionService
中给出此代码:
Map<Boolean, List<Tasklet>> byCooperation =
tasklets.stream().collect(partitioningBy(Tasklet::isCooperative));
并考虑到ProcessorTasklet::isCooperative
的实施:
return processor.isCooperative();
处理器的每个单独实例将根据其协作性进行处理。执行服务实际上并不关心哪些tasklet属于同一个顶点,并根据其合作声明处理每个tasklet。
简而言之:是的,您可以为同一个顶点混合使用合作/非合作处理器。