我正在为我们的 Quarkus JBeret 应用程序编写一些集成测试,并且我正在尝试从 JobContext 获取瞬态数据以检查存储在其中的值。
知道这是否可能吗?
我在测试中使用类似的东西开始工作:
private JobExecutionImpl startJob(String jobXml, Properties jobParams) {
try {
this.jobLock.lock();
long jobExecutionId = this.jobOperator.start(jobXml, jobParams);
return (JobExecutionImpl) this.jobOperator.getJobExecution(jobExecutionId);
} finally {
this.jobLock.unlock();
}
}
所以我可以访问JobExecution,但我找不到获取JobContext的方法。
批处理作业上下文保存作业执行的上下文数据。它在作业执行的范围内可用,并且在外部(例如在客户端中)不可用。
您可以将作业上下文注入任何批处理工件,例如 ItemReader、ItemProcessor、ItemWriter、批处理侦听器等。