问题标签 [itemwriter]

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 回答
589 浏览

java - Spring Batch Item Writer 没有被调用

我创建了一个基于教程的简单弹簧批处理,它使用 itemreader 和 item writer 读取文件并加载到数据库中。我遵循了相同的步骤,但只有项目阅读器被调用,项目作者没有被调用。谁能帮帮我吗。谢谢 !!!

基础设施 XML 文件

物品作者

0 投票
1 回答
337 浏览

spring - Spring批处理分类器复合项目编写器出错

我基本上必须为每种货币的每个 file_id 生成多个 xml 文件(即 usd、zar ect),这些事务都在 1 个 DB 表中。我是否为每种货币创建一个复合编写器,并在我的项目处理器上过滤我从数据库中读取的每种不同货币。或者我可以对每个 file_id 的每种货币使用多个步骤吗?我一直在努力寻找解决此问题的 Springbatch 解决方案。

每个文件和货币的文件名资源将不同。例如,我可以收到 file_id=1 currency=USD 需要 1 个文件 'USD20051701 和 01 文件序列'。我还可以为 Currency ='ZAR' 获取两个文件 file_id 1 和 2,这些文件需要是两个文件 'ZAR20051701' 和 'ZAR20051702' 01 和 02 文件序列。

我使用此链接作为其中一篇文章的指南。https://stackoverflow.com/a/53388876/13056119

我正在获取此跟踪日志 日志文件

请帮忙,我在尝试调试日志屏幕截图时遇到了困难。我已经编写了一个分类器来写入 3 个不同的文件,每种货币但我收到一个错误

0 投票
1 回答
2170 浏览

spring-boot - 使用 Spring Batch 和 Spring Boot 将数据从一个 Db 迁移到另一个 Db

我是 Spring 框架的新手,我想使用 Spring boot n Batch 将数据从一个数据库迁移到另一个数据库

我正在尝试使用项目阅读器从 Mysql 数据库中读取数据,并使用相同作业的项目编写器将其写入 Oracle 数据库。

我能够从 Mysql db 读取数据,但无法将其写入 Oracle Db,因为作者正在尝试将其写入 Mysql Db 本身。

我不确定为什么连接没有切换到 Oracle db。

请帮助我在这里我做错了什么。

应用程序属性

实体经理

批量配置

0 投票
1 回答
182 浏览

spring-batch - 使用 Tasklet 方法时 FlatFileItemWriter 不生成文件

我使用方法编写了以下代码tasklet来生成包含数据的文件。

上面的代码编译并运行没有错误,但它没有在磁盘上生成任何文件。

我尝试调试以检查是否在缓冲区上创建了 fileName 和 etc 值以写入磁盘,并且除了生成数据并将数据写入文件之外,一切都按预期工作。

如果我使用基于块的方法编写代码,它工作正常。

如果我做错了什么,请告诉我。我在这里先向您的帮助表示感谢。

编辑:添加建议的更改后,文件正在磁盘上创建,但文件丢失了我使用 setHeaderCallback() 设置的标题

0 投票
0 回答
351 浏览

mongodb - Spring Batch + MongoItemReader、ItemProcessor、MongoItemWriter + 不读取所有记录

我正在将 Spring Batch 与 Mongo 数据库一起使用。

我需要根据状态(status= PENDING)获取文档,写入 Kafka 队列并使用新状态(status= FILLED)更新文档字段。

所以我使用MongoItemReader, CompositeItemWriter( KafkaItemWriter, MongoItemWriter) 写入 Kafka 队列并更新它。但是当我运行作业时,我可以看到一些文档被跳过,并且跳过的文档数量等于块大小。

例如,我的集合有 15 个文档,块大小等于 5,MongoItemReader读取第 1、2、3、4、5 行,然后读取第 11、12、13、14、15 行(跳过第 6、7、8、9 行,10)。

ItemProcessor对 POJO 实体进行修改。由于 MongoItemReader 在每次读取之间进行了刷新,因此更新了实体。但似乎游标分页也增加了(从日志中可以看出:行 ID 6、7、8、9 和 10 已被跳过)。我已经看到它通过使用“ SqlPagingQueryProviderFactoryBean ”在关系数据库中进行了工作,但它不适合 NoSQL DB。我已尽一切努力寻找解决方案,但没有任何帮助。

那么,我该如何处理这个问题呢?

0 投票
1 回答
147 浏览

spring-batch - Spring Batch:如何在 FlatFileItemWriter 中设置记录分隔符策略?

我需要用相同的阅读格式写记录。例子:

我需要的是用双引号附加记录:

我该怎么做?在 FlatFileItemReader 中有使用 RecordSeparatorPolicy 的选项,但是在 FlatFileItemWriter 中???

0 投票
2 回答
386 浏览

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

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

输入文件格式

预期的输出文件格式

项目处理器

0 投票
2 回答
347 浏览

spring-boot - Spring Batch:一个Reader,复合处理器(两个具有不同实体的类)和两个kafkaItemWriter

ItemReader正在从 DB2 读取数据并提供 java 对象ClaimDto。现在ClaimProcessor接收对象ClaimDto并返回CompositeClaimRecord对象,该对象包含claimRecord1并发claimRecord2送到两个不同的 Kafka 主题。如何分别写到topic1claimRecord1claimRecord2topic2。

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 回答
69 浏览

spring-batch - 我们可以在需要跳过第一行和最后一行的文件上使用 Spring 批处理 Item Reader 和 Writer 吗?

在进行一些验证后,我有一个要写入 db 的文件。该文件将具有需要验证然后跳过的 Header 和 Trailer,如果满足验证,则应将其间的所有行映射并加载到 db。我可以使用 Item Reader 和 Writer 来执行此操作吗?下面是一个示例文件数据,它有一个标题行、一个尾行以及在它们之间的行,其中包含要加载到 db 的实际数据。任何帮助表示赞赏。

HEADER|xxxxx|20190405T143025Z 行数据|行数据|行数据|行数据||行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|线数据|线数据|线数据|线数据

拖车|20190405T143025Z|1

ps:我是一名IIB开发人员,这是我第一次使用spring batch。