我正在使用 Spring 批处理。我有 2 个用于执行处理逻辑的项目处理器。
我已经为 ItemReader 和 ItemWriter 配置了侦听器。
我使用了 Spring Batch CompositeItemProcessor (org.springframework.batch.item.support.CompositeItemProcessor)。
我的工作配置如下:-
<job id="SoDJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step1">
<tasklet>
<chunk reader="itemReader" processor="SoDConflictProcessor" writer="SoDConflictExcelWriter"
commit-interval="1" />
<listeners>
<listener ref="sodJobListener" />
<listener ref="SoDItemReaderListener" />
<listener ref="SoDItemWriterListener" />
</listeners>
</tasklet>
</step>
</job>
我的处理器配置为:-
<bean id="SoDConflictProcessor"
class="org.springframework.batch.item.support.CompositeItemProcessor">
<property name="delegates">
<list>
<ref bean="SoDDataProcessor" />
<ref bean="SoDLogicProcessor" />
</list>
</property>
</bean>
我如何为 ItemProcessor(SoDDataProcessor 和 SoDLogicProcessor)编写单独的 ItemProcessListener。
供参考 :
1) SoDDataProcessor - 实现ItemProcessor<User, HashSet<String>>
。
2) SoDLogicProcessor - 实现ItemProcessor<HashSet<String>, HashSet<Object>>
希望这能解决我的问题。