0

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

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

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

先感谢您。

4

1 回答 1

1

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

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

于 2017-11-17T19:10:14.457 回答