我有一个如下所示的复合项目处理器。

<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的结果对象转换为编写者可以用来持久化的另一个对象。

请帮忙。

#1楼 票数:1

如果使用CompositeItemProcessor ,则应该能够正常注册ItemProcessListener并且由于该框架不了解底层委托人,因此它将在整个复合材料上执行一次。

#2楼 票数:1

我想将Processor4的结果对象转换为编写者可以用来持久化的另一个对象。

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

  ask by user3222372 translate from so

未解决问题?本站智能推荐:

1回复

Spring Batch:如何在步骤侦听器中使用占位符?

为什么上面的给我以下错误: 解决此问题的最佳方法是什么?
2回复

启用和禁用Spring Batch侦听器

在春季批处理中有什么方法可以启用和禁用listeners.ie而无需从上下文中删除配置我应该可以控制。有人可以帮助我吗 在不从上下文中删除配置的情况下,有什么方法可以使监听器无法监听。像标记这样的东西可以启用或禁用监听器。目前,我的监听器用于记录读写和步骤级别的作业详细信息。记录某些实例
1回复

Spring Batch:如何在侦听器方法中从 ItemReader 手动读取项目?

我正在寻找一种方式来使用ItemReader在@AfterStep监听方法检查数据库的特定状态在批处理作业正在处理项目。 (这些项目是另一个表中一行的子对象,这些父对象不在批处理作业步骤中处理。)我目前正在使用JdbcCursorItemReader对 H2 数据库执行 SQL。 但是,我不确定
1回复

Spring批处理如何在跳过侦听器中获取作业执行上下文

我正在寻求帮助以找出在我的块侦听器中设置作业执行上下文的方法。 跳过监听器 我正在设置作业执行 ID 这在我的处理器和编写器中工作正常,但在跳过侦听器中,它变为空
1回复

Spring Batch Item Writer侦听器不起作用

我使用spring批处理并实现了项目编写器侦听器。 我的Item Writer Listener类是这样的 然后,在这样的步骤中使用Java Config对其进行配置 但是,beforeWrite,afterWrite不被调用。 当我添加一些错误时,onWriterError
2回复

如何在 spring 批处理中组合多个侦听器(步骤、读取、处理、写入和跳过)

此操作的目的是跟踪在具有多个步骤的 spring 批处理作业中正在读取/处理/写入的行或项目。 我创建了一个实现这些接口的监听器: StepExecutionListener, SkipPolicy, ItemReadListener, ItemProcessListener, ItemWrite
1回复

在Spring Batch中使用侦听器来捕获错误

我是Spring和Spring Batch的新手。 我写了一个基本工作,应该每5秒重复一次。 它有两个步骤,其中step1 ( step1 )每次都会失败。 我的目的是查看作业是否会在step1报告这些错误并继续执行step2 。 下面是我用来捕获step1错误的方法(使用listene
1回复

Spring 批处理:在侦听器中获取 ExecutionContext

我是 Spring 批处理的新手。 我需要计算读取、写入和出错的元素。 我已经定义了这样的步骤: 并且,例如,像这样的 ListenerReader: 但是在 ListenerReader 中,我看不到 executionContext 字段。 我该如何解决?