在Spring Batch step-scope documentation中,存在三个无法解释的spring-batch上下文映射:jobParameters
,jobExecutionContext
和stepExecutionContext
。
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>
jobParameters
,jobExecutionContext
和stepExecutionContext
中可用的默认参数是什么?Spring Batch版本1.x与2.x与3.x之间可能也存在差异-该领域的文档非常稀缺。
最佳答案
#{jobParameters}
,#{jobExecutionContext}
和#{stepExecutionContext}
是JobParameters,JobExecution和StepExecution对象的spEL( Spring 表达语言)对等物,可在后期绑定(bind)中使用,以允许非静态访问步骤作用域对象中的该对象值。
它们支持作为Map
进行访问,因此您可以访问与JobExecution
和StepExecution
相关联的ExecutionContext以及存储在JobParameters
中的值。
另请查看StepScope文档以获取更多信息。