在步骤之间的JobExecutionContext中存储数据

时间:2014-04-30 10:26:24

标签: spring-batch

我想将数据存储在作业执行上下文中,以便在步骤之间共享。

为了掌握上下文,我将这个注释放在项目处理器

@Value("#{jobExecutionContext}") JobExecution context;

但抛出此异常

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'jobExecutionContext' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' 
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:246) 
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:112) 
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:107) 
        at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:93) 
        at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:89) 
        at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:139) 

正确的语法是什么?

非常感谢

1 个答案:

答案 0 :(得分:1)

您无法使用#{jobExecutionContext}直接绑定@Value;你需要一个JobExecutionListener