问题标签 [itemprocessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
175 浏览

java - Spring Batch @BeforeContext 执行失败

我在春季批次中有一个情况,我有多个项目处理器组成一个复合项目处理器。我需要在同一步骤中在两个处理器之间共享一些上下文数据。我找到了一个访问上下文的有效解决方案,如下所示。也就是说,有一个替代解决方案似乎更干净,但它使用@BeforeStepAnnotation,它永远不会被调用。如果可能,我想使用第二种解决方案。任何关于如何做到这一点的建议都非常感谢。

这有效:

这失败了:

0 投票
2 回答
386 浏览

spring-batch - 我可以使用 FlatFileItemWriter 在 Spring Batch 中编写多格式文件吗?

我正在读取一个多格式文件,使用FlatFileItemReader并将每一行映射到其相应的 bean 类型ItemProcessor并执行数据丰富。但是当我尝试使用 将这些记录写入文件FlatFileItemWriter时,我无法BeanWrapperFieldExtractor为不同的记录类型单独分配。我该如何解决这个问题?

输入文件格式

预期的输出文件格式

项目处理器

0 投票
1 回答
342 浏览

spring-batch - 在 SpringBatch 中使用 ClassifierCompositeItemProcessor 时,通过 StepBuilderFactory stream() 将文件名动态传递给 FlatFileItemWriter

我正在使用ClassifierCompositeItemProcessor. 但是当使用StepBuilderFactory流写入文件时,我无法Resource动态传递文件名。文件名应该是相应的输入文件名。任何帮助将非常感激。

输入文件 1 (data-111111-12323.txt)

输入文件 2 (data-22222-23244.txt)

预期的输出文件 1 (data-111111-12323.txt)

预期输出文件 2 (data-22222-23244.txt)

处理器

作家

0 投票
1 回答
177 浏览

spring - 同一个 Spring Batch 步骤中的多个 ItemProcessor 和 ItemWriters

我可以使用单个ItemReader和多个子步骤编写 Spring Batch 步骤,每个子步骤都有一个ItemProcessor后跟一个ItemWriter吗?

我正在尝试实现这样的目标:

补充笔记

  • 为避免不一致,我不希望将项目阅读两次。
  • 第二个ItemProcessor需要过滤掉一些项目,这些项目应该由第一个编写ItemWriter,而不是由第二个编写。

我相信这个问题与Spring Batch 不同:一个阅读器,多个处理器和编写器,因为我需要按顺序处理项目,而不是并行处理。

0 投票
1 回答
224 浏览

java - 如何知道它是否是 SpringBatch 的 ItemProcessor 中的最后一项

我有以下 ItemProcessor,我需要知道该项目是否是阅读器发送的最后一个项目。这可能吗?

流程是:

  • ItemReader- 从数据库中读取行(预计数百万行)
  • ItemProcessor- 对每一行执行一些验证,发送到 webservice 并使用 webservice 响应执行更多验证。
  • ItemWriter- 从验证中写入数据库错误,并更改线路状态。

另一种可能的解决方案是 ItemReader 发送Line带有大小的列表NUMBER_OF_LINES_TO_CALL_WEBSERVICE,但我找不到有关如何修改JpaPagingItemReader.

读者是JpaPagingItemReader

0 投票
1 回答
110 浏览

list - Spring-batch ItemProcessor 数据以列表的形式进行建模

我正在使用自定义 itemReader 从外部休息 API 读取数据,它工作得很好。但是,当使用 ItemProcessor 将数据处理到我的模型类中时,就会出现问题。不幸的是,API 响应是一个对象,其中嵌套了一个数组,这意味着我必须使用引用另一个类的列表来存储其中的数据。

API 响应图片

StockDTO 数据类:

ProductDTO 数据类(列表数据):

模型类:

ItemProcessor<StockDTO, Stock>

我应该创建另一个名为 Product 的模型类以便我可以创建 ItemProcessor<ProductDTO, Product> 还是可以在不创建另一个处理器的情况下从 ItemProcessor<StockDTO, Stock> 获取所有列表项?谢谢你。

0 投票
0 回答
14 浏览

spring-batch - 如何通过在春季批处理中拆分一组列来读取一个csv文件并写入不同的表

例如

有一个 csv 文件,它有 20 列 id,name,....

我希望将前 10 列数据写入一个表中,就像其他 10 列数据在不同表中一样

如何在 Spring Batch 中使用 ItemReader、ItemWriter 来实现这一点

0 投票
0 回答
15 浏览

spring - 如何从具有动态值的 StoredProcedureItemReader bean 调用 postgres 函数来运行

我创建了一个StoredProcedureItemReader,我想StoredProcedureItemReader @Bean从我的ItemProcessor. 这是我的存储过程项阅读器 bean

这是我的实现ItemProcessor

}

这是我的 postgres 函数

我不知道如何将当前用户 ID 传递给我创建的这个程序,请帮助,谢谢

0 投票
1 回答
35 浏览

java - 在 Spring Batch 中更新已处理的项目

我有一个使用 ItemProcessor 处理项目的 Spring Batch 应用程序。

我想知道是否可以在处理项目后更新它,以便当它到达 ItemWriter 时,它会被更新。例如,我处理一个项目,然后我处理另一个可能需要编辑前一个项目的属性的项目。由于上一个项目尚未到达写入器,我无法对数据库进行更新,并且第一个项目在没有更新的情况下被写入