java通过JobOperator停止JobInstance
我正在尝试停止managedbean中的一个作业执行。更具体地说,我能够获取作业实例并停止作业实例,如下所示:
JobOperator operator = BatchRuntime.getJobOperator();
List<Long> re = operator.getRunningExecutions("JobName");
for (Long runningExecution: re) {
operator.stop(runningExecution);
}
即使如此,如果实例继续运行,它也不会对实例的执行产生影响。事实上,如果我再次尝试获取作业实例,这是不可能的,因为方法getRunningExecutions不返回任何元素。这样,谁能告诉我我做错了什么
先谢谢你
# 1 楼答案
getRunningExecutions
返回空,因为作业执行可能处于停止状态,因此不再考虑运行执行尝试在每次作业执行时调用
getBatchStatus()
,以检查准确的批处理状态。如果当前步骤是batchlet类型的步骤,那么batchlet类应该实现stop()
方法来正确停止工作