当前位置: 首页 > 知识库问答 >
问题:

Spring Batch:如何将jobParameters传递给自定义bean?

充修能
2023-03-14

我还在研究spring batch,遇到了一个需要将jobParameter传递给定制bean的场景。作业参数包含文件的路径。

<bean id="myBean" class=".....MyBean">
     <property name="path" value="file:#{jobParameters['PATH'}/fileName"/>
</bean>

这已经包含在读取器的步骤范围中,这里没有包含。

问题是。当类被实例化时,传递给bean的值是“file:#{jobparameters['path'}/filename”,而不是调用作业时传递的jobParameter的值。这让我很困惑,因为我在multiResourceReader上尝试过设置资源值,它运行良好。我只是不能在自定义bean上使它运行。非常感谢任何帮助。

共有1个答案

阮选
2023-03-14

在bean定义中需要scope=“step”。

<bean id="myBean" class=".....MyBean" scope="step">
    <property name="path" value="file:#{jobParameters['PATH']}/fileName"/>
</bean>

另外,您的#{jobparameters['path'}缺少结尾方括号]

 类似资料: