Spring Batch step-scope documentation中,存在三个无法解释的spring-batch上下文映射:jobParametersjobExecutionContextstepExecutionContext

Springsource示例代码,结合在一起:

<bean id="flatFileItemReader" scope="step"
  class="org.springframework.batch.item.file.FlatFileItemReader">
    <property name="var1" value="#{jobParameters['input.file.name']}" />
    <property name="var2" value="#{jobExecutionContext['input.file.name']}" />
    <property name="var3" value="#{stepExecutionContext['input.file.name']}" />
</bean>
jobParametersjobExecutionContextstepExecutionContext中可用的默认参数是什么?

Spring Batch版本1.x与2.x与3.x之间可能也存在差异-该领域的文档非常稀缺。

最佳答案

#{jobParameters}#{jobExecutionContext}#{stepExecutionContext}JobParametersJobExecutionStepExecution对象的spEL( Spring 表达语言)对等物,可在后期绑定(bind)中使用,以允许非静态访问步骤作用域对象中的该对象值。

它们支持作为Map进行访问,因此您可以访问与JobExecutionStepExecution相关联的ExecutionContext以及存储在JobParameters中的值。

另请查看StepScope文档以获取更多信息。

10-05 22:48