有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过JobOperator停止JobInstance

我正在尝试停止managedbean中的一个作业执行。更具体地说,我能够获取作业实例并停止作业实例,如下所示:

        JobOperator operator  = BatchRuntime.getJobOperator();
        List<Long> re = operator.getRunningExecutions("JobName");
        for (Long runningExecution: re) {
            operator.stop(runningExecution);
        } 

即使如此,如果实例继续运行,它也不会对实例的执行产生影响。事实上,如果我再次尝试获取作业实例,这是不可能的,因为方法getRunningExecutions不返回任何元素。这样,谁能告诉我我做错了什么

先谢谢你


共 (1) 个答案

  1. # 1 楼答案

    getRunningExecutions返回空,因为作业执行可能处于停止状态,因此不再考虑运行执行

    尝试在每次作业执行时调用getBatchStatus(),以检查准确的批处理状态。如果当前步骤是batchlet类型的步骤,那么batchlet类应该实现stop()方法来正确停止工作