Java 是否可以从spring批处理的JobExecutionContext访问Tasklet

Java 是否可以从spring批处理的JobExecutionContext访问Tasklet,java,spring-batch,Java,Spring Batch,我正在尝试取消tasklet的执行,而不取消整个步骤/作业。我以一种可以基于标志取消的方式实现了tasklet。但是JobExecutionContext不提供任何介质来访问tasklet?有什么方法可以访问tasklet实例吗?这在decider中是可能的 public class MyDecider implements JobExecutionDecider { @Override public FlowExecutionStatus decide(JobExe

我正在尝试取消tasklet的执行,而不取消整个步骤/作业。我以一种可以基于标志取消的方式实现了tasklet。但是JobExecutionContext不提供任何介质来访问tasklet?有什么方法可以访问tasklet实例吗?

这在decider中是可能的

    public class MyDecider implements JobExecutionDecider {


    @Override
    public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {

        if (condition) {
        // choose what ever you want to do 
        return new FlowExecutionStatus("");    

            }
        // choose what ever you want to do 
        return new FlowExecutionStatus("");
    }
}

例如,您可以在此处选中-

这在decider中是可能的

    public class MyDecider implements JobExecutionDecider {


    @Override
    public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {

        if (condition) {
        // choose what ever you want to do 
        return new FlowExecutionStatus("");    

            }
        // choose what ever you want to do 
        return new FlowExecutionStatus("");
    }
}

例如,您可以在此处选中-

我正在从JobExecution上下文中查找实例。它将不是一个单一的bean。同一tasklet将有多个不同实现的实例。@MacleanPinto您不需要为此执行JobExecution。使用判定器检查tasklet是否已停止,并使流继续到下一步。@Mahmoud Ben Hassine我的要求是在运行时取消tasklet。我必须触发取消。到目前为止,Spring批处理允许在步骤级别取消。@Maclean Pinto您可以将tasklet放在单独的步骤中,然后您可以跳过该步骤-但我仍然建议您在我们这里讨论的所有事情都发生在运行时时时,检查决策器。您在运行时取消tasklet步骤,然后决策者在运行时检查状态并决定是否转到下一步。我认为这个用例不需要
JobExecution
。我正在从JobExecution上下文中查找实例。它将不是一个单一的bean。同一tasklet将有多个不同实现的实例。@MacleanPinto您不需要为此执行JobExecution。使用判定器检查tasklet是否已停止,并使流继续到下一步。@Mahmoud Ben Hassine我的要求是在运行时取消tasklet。我必须触发取消。到目前为止,Spring批处理允许在步骤级别取消。@Maclean Pinto您可以将tasklet放在单独的步骤中,然后您可以跳过该步骤-但我仍然建议您在我们这里讨论的所有事情都发生在运行时时时,检查决策器。您在运行时取消tasklet步骤,然后决策者在运行时检查状态并决定是否转到下一步。我认为这个用例不需要
JobExecution