【问题标题】:Accessing jobParameter on ItemProcessor on Spring batch在 Spring 批处理中访问 ItemProcessor 中的作业参数
【发布时间】:2013-04-04 20:37:17
【问题描述】:

我是 Spring Batch 的新手,在我的开发过程中,我遇到了一个需要访问 ItemProcessor 上的 jobParameter 的场景。我已经在阅读器上完成了此操作(MultiresourceReader 和 StaxeventItemReader 也使用我构建的 CustomReader)并且成功,我可以检索 jobParameter 但不能使用 ItemProcessor。

这是我的sn-p。

<bean id="myProcessor" class="com.......MyCustomProcessor" scope="step">
    <property name="myBean" ref="customBean"/>
</bean>
<bean id="customBean" class="...................MyCustomBean" scope="step">
    <property name="file" value="#{jobParameters['FILE']}/fileName.txt"/>
</bean>

它正在产生一个lazyBinding 异常。关于如何在项目处理器上检索 jobParameter 的任何想法?

【问题讨论】:

    标签: spring-batch


    【解决方案1】:

    根据我在您的 sn-p 中看到的内容,您尝试从 customBean 访问作业参数...而不是 ItemProcessor!。

    Spring 中的常规 bean 不理解 step-范围。 Spring bean 的作用域是单例、原型、请求或会话!

    如果你移动你的

    <property name="file" value="#{jobParameters['FILE']}/fileName.txt"/>
    

    ItemProcessor 它应该可以工作。

    我假设您在处理器内部使用 customBean?如果是这样,那么您将能够在 ItemProcessor 中设置 jobParameter 的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      相关资源
      最近更新 更多