ExecutionContext 信息的 StepContribution 或 ChunkContext

StepContribution or ChunkContext for ExecutionContext info

在 Spring 批处理 tasklet execute(StepContribution stepContribution, ChunkContext chunkContext) 方法中,在前面的步骤写入文件后加密文件的步骤中,我需要访问作业 ExecutionContext 中的信息。看起来我可以从 stepContribution 中获取该信息:

stepContribution.getStepExecution().getJobExecution().getExecutionContext()

或 chunkContext:

chunkContext.getStepContext().getStepExecution().getJobExecution().getExecutionContext()

会一直这样吗?或者在某些情况下,stepContribution 将引用执行上下文,但 chunkContext 将为空,或者 chunkContext 和 stepContribution 之间可能存在其他一些相关差异?

无论您是从块上下文还是从步骤贡献访问它,作业执行引用都将始终相同。