XMLファイルで、 CompositeItemProcessorを使用して2つのプロセッサを構成しました
<processor>
<beans:bean id="CompositeItemProcessor" class="org.springframework.batch.item.support.CompositeItemProcessor" scope="step">
<beans:property name="delegates">
<beans:list>
<beans:ref bean="oldProcessor"/>
<beans:ref bean="newProcessor"/>
</beans:list>
</beans:property>
</beans:bean>
</processor>
そして、「oldProcessor」Bean Java ファイルで、StepExecutionオブジェクトを取得するために以下のコードを追加しました。
@BeforeStep
@Order(1)
public void setStepExecution(StepExecution stepExecution) {
this.stepExecution = stepExecution;
}
しかし、上記のコードは実行されていません。" oldProcessor " Beanから呼び出すprocess()メソッドのみ。
CompositeItemProcessorを構成せずに試してみたところ 、この「setStepExecution()」メソッドとprocess()メソッドが oldProcessor Bean を実行しています。例えば。
<processor>
<beans:ref bean="oldProcessor"/>
</processor>
CompositeItemProcessor を使用してプロセッサで stepExecutionContext を取得する方法を教えてください。