我知道如何使用作业上下文获取作业的执行 ID 和实例 ID。但是如果我重新启动一个作业,有没有办法知道作业执行是第一次执行还是在作业中重新启动,例如在阅读器内部?
问问题
403 次
2 回答
3
不,但有一个未解决的问题要求: https ://java.net/bugzilla/show_bug.cgi?id=7473
于 2016-05-11T11:13:07.797 回答
1
这有点过于复杂(正如另一个答案所指出的,有一个问题需要考虑对未来的 Batch 1.1 进行增强)。
你可以这样做:
//
// Assumes JobContext injected into 'jobCtx' field
//
private boolean isRestart() {
JobOperator jo = BatchRuntime.getJobOperator();
JobInstance jobInstance = jo.getJobInstance(jobCtx.getExecutionId());
int numExecutions = jo.getJobExecutions(jobInstance).size();
return numExecutions > 1;
}
于 2016-05-12T04:46:09.140 回答