0

私は春のバッチを初めて使用し、開発中に ItemProcessor の jobParameter にアクセスする必要があるシナリオに出くわしました。私はリーダーでこれを行いました(MultiresourceReaderとStaxeventItemReaderも私が構築したCustomReaderで)、成功しました。jobParameterを取得できますが、ItemProcessorでは取得できません。

これが私のスニペットです。

<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 Exception を生成しています。アイテム プロセッサで jobParameter を取得する方法について何か考えはありますか?

4

1 に答える 1

3

あなたのスニペットで見たものから、カスタムBeanからジョブパラメータにアクセスしようとしています... ItemProcessorではありません! .

Spring の通常の Bean は、ステップスコープを認識しません。Spring Bean のスコープは、シングルトン、プロトタイプ、リクエスト、またはセッションです。

あなたがあなたの

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

ItemProcessorに対しては機能するはずです。

プロセッサ内で customBean を使用していると思いますか? その場合、 ItemProcessor 内でjobParameterの値を設定できます。

于 2013-04-10T15:41:01.477 に答える