JSR352支持 - Contexts
优质
小牛编辑
136浏览
2023-12-01
12.7 Contexts
JSR-352 定义了两个上下文对象: javax.batch.runtime.context.JobContext
和 javax.batch.runtime.context.StepContext
, 分别用来处理 job/step 的元数据(meta-data)信息. JobContext 和 StepContext对象在所有的 step 级别的组件中都是可用的(如 Batchlet, ItemReader, 等); 当然, JobContext对象在 job 级别的组件中也是可见的(比如 JobListener).
要获取当前 scope的 JobContext 和 StepContext 对象引用,请使用 @Inject 注解:
@Inject
JobContext jobContext;
[提示] @Autowire for JSR-352 contexts
在这一类的上下文注入中, 不支持Spring的 @Autowire 注解.
在 Spring Batch 中, JobContext 和 StepContext 封装了相应的执行对象 (分别是 JobExecution 以及 StepExecution ). 在 Spring Batch 的 StepExecution#executionContext 中通过 StepContext#persistent#setPersistentUserData
(序列化)保存 Data.