Given this code in ExecutionService
:
Map<Boolean, List<Tasklet>> byCooperation =
tasklets.stream().collect(partitioningBy(Tasklet::isCooperative));
and given the implementation of ProcessorTasklet::isCooperative
:
return processor.isCooperative();
each individual instance of processor will be handled according to its cooperativeness. The execution service actually doesn't care which tasklets belong to the same vertex and treats each one according to its declaration of cooperativeness.
In short: yes, you can have a mix of cooperative/noncooperative processors for the same vertex.