Java批处理作业侦听器afterJob获取作业id
如何检测正在调用afterJob侦听器的已完成作业的作业id? 我有一个正在开始批处理的工作,我有一个监听器 我的工作叫PayrollJob,而监听器是PayrollJobListenerJava批处理作业侦听器afterJob获取作业id,java,batch-processing,jobs,Java,Batch Processing,Jobs,如何检测正在调用afterJob侦听器的已完成作业的作业id? 我有一个正在开始批处理的工作,我有一个监听器 我的工作叫PayrollJob,而监听器是PayrollJobListener <job id="payroll" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0"> <listeners> <listener ref="payrollJobListener"/>
<job id="payroll" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<listeners>
<listener ref="payrollJobListener"/>
</listeners>
<step id="process">
<listeners>
<listener ref="payrollItemWriteListener"/>
<listener ref="payrollSkipProcessorListener"/>
<listener ref="payrollSkipReadListener"/>
<listener ref="payrollSkipWriteListener"/>
<listener ref="payrollChunkListener"/>
</listeners>
<chunk item-count="5">
<reader ref="PayrollItemReader"></reader>
<processor ref="PayrollItemProcessor"></processor>
<writer ref="PayrollItemWriter"></writer>
</chunk>
</step>
</job>
您可以注入一个JobContext
@Named()
public class PayrollJobListener extends AbstractJobListener {
@Inject
private JobContext jobContext;
@Override()
public void beforeJob(){};
@Override()
public void afterJob(){
long id = this.jobContext.getExecutionId();
String name = this.jobContext.getJobName();
};
}
您可以注入一个JobContext
@Named()
public class PayrollJobListener extends AbstractJobListener {
@Inject
private JobContext jobContext;
@Override()
public void beforeJob(){};
@Override()
public void afterJob(){
long id = this.jobContext.getExecutionId();
String name = this.jobContext.getJobName();
};
}