我需要从执行批处理的内部获取jobId。现在,我可以从我在Batchlet的类中获取jobId,但不能从Batchlet内部获取。long jobId = job.start("BatchletName", parm);
这句话启动了批处理“ BatchletName”。现在,我需要从类BatchletName.java中获取jobId值:
@Dependent
@Named("BatchletName")
@TransactionManagement(TransactionManagementType.BEAN)
public class BatchletName extends AbstractBatchlet {
public String process() throws Exception {
// I need jobId here
return "";
}
}
先感谢您。
最佳答案
您可以将javax.batch.runtime.context.JobContext
注入您的Batchlet类中,然后调用JobContext.getJobName()以获取作业ID。
import javax.batch.runtime.context.JobContext;
import javax.inject.Inject;
import javax.inject.Named;
@Dependent
@Named("BatchletName")
public class BatchletName extends AbstractBatchlet {
@Inject
JobContext jobContext;
public String process() throws Exception {
// I need jobId here
String jobId = jobContext.getJobName();
return "";
}
}
关于java - 从Batchlet内部获取jobId,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46949830/