如何使用CompositeItemProcessor注册侦听器

时间:2015-01-14 19:33:54

标签: java spring-batch

我有一个像下面这样的复合项目处理器。

<bean id="myProcessors"
        class="org.springframework.batch.item.support.CompositeItemProcessor"
        scope="step">
        <property name="delegates">
            <util:list>
                <ref bean="processor1" />
                <ref bean="processor2" />
                <ref bean="processor3" />
                <ref bean="processor4" />
            </util:list>
        </property>
    </bean>

如何在所有处理器完成之后和调用writer gettes之前注册侦听器?我想将processor4的结果对象转换为另一个可以用来保存它的对象。

请帮忙。

2 个答案:

答案 0 :(得分:1)

如果您正在使用CompositeItemProcessor,那么您应该能够正常注册ItemProcessListener并且它将在整个复合体周围执行一次,因为该框架并不具备真正的知识基础代表。

答案 1 :(得分:1)

  

我想将processor4的结果对象转换为另一个可以用来保存它的对象。

为什么不简单地在复合材料中添加另一个处理器来进行此转换?我不相信您可以使用ItemProcessListener修改结果对象类型。