问题标签 [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.
java - Spring Batch Item Writer 没有被调用
我创建了一个基于教程的简单弹簧批处理,它使用 itemreader 和 item writer 读取文件并加载到数据库中。我遵循了相同的步骤,但只有项目阅读器被调用,项目作者没有被调用。谁能帮帮我吗。谢谢 !!!
基础设施 XML 文件
物品作者
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 个不同的文件,每种货币但我收到一个错误
spring-boot - 使用 Spring Batch 和 Spring Boot 将数据从一个 Db 迁移到另一个 Db
我是 Spring 框架的新手,我想使用 Spring boot n Batch 将数据从一个数据库迁移到另一个数据库
我正在尝试使用项目阅读器从 Mysql 数据库中读取数据,并使用相同作业的项目编写器将其写入 Oracle 数据库。
我能够从 Mysql db 读取数据,但无法将其写入 Oracle Db,因为作者正在尝试将其写入 Mysql Db 本身。
我不确定为什么连接没有切换到 Oracle db。
请帮助我在这里我做错了什么。
应用程序属性
实体经理
批量配置
spring-batch - 使用 Tasklet 方法时 FlatFileItemWriter 不生成文件
我使用方法编写了以下代码tasklet
来生成包含数据的文件。
上面的代码编译并运行没有错误,但它没有在磁盘上生成任何文件。
我尝试调试以检查是否在缓冲区上创建了 fileName 和 etc 值以写入磁盘,并且除了生成数据并将数据写入文件之外,一切都按预期工作。
如果我使用基于块的方法编写代码,它工作正常。
如果我做错了什么,请告诉我。我在这里先向您的帮助表示感谢。
编辑:添加建议的更改后,文件正在磁盘上创建,但文件丢失了我使用 setHeaderCallback() 设置的标题
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。我已尽一切努力寻找解决方案,但没有任何帮助。
那么,我该如何处理这个问题呢?
spring-batch - Spring Batch:如何在 FlatFileItemWriter 中设置记录分隔符策略?
我需要用相同的阅读格式写记录。例子:
我需要的是用双引号附加记录:
我该怎么做?在 FlatFileItemReader 中有使用 RecordSeparatorPolicy 的选项,但是在 FlatFileItemWriter 中???
spring-batch - 我可以使用 FlatFileItemWriter 在 Spring Batch 中编写多格式文件吗?
我正在读取一个多格式文件,使用FlatFileItemReader
并将每一行映射到其相应的 bean 类型ItemProcessor
并执行数据丰富。但是当我尝试使用 将这些记录写入文件FlatFileItemWriter
时,我无法BeanWrapperFieldExtractor
为不同的记录类型单独分配。我该如何解决这个问题?
输入文件格式
预期的输出文件格式
项目处理器
spring-boot - Spring Batch:一个Reader,复合处理器(两个具有不同实体的类)和两个kafkaItemWriter
ItemReader
正在从 DB2 读取数据并提供 java 对象ClaimDto
。现在ClaimProcessor
接收对象ClaimDto
并返回CompositeClaimRecord
对象,该对象包含claimRecord1
并发claimRecord2
送到两个不同的 Kafka 主题。如何分别写到topic1claimRecord1
和claimRecord2
topic2。
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)
步
处理器
作家
spring-batch - 我们可以在需要跳过第一行和最后一行的文件上使用 Spring 批处理 Item Reader 和 Writer 吗?
在进行一些验证后,我有一个要写入 db 的文件。该文件将具有需要验证然后跳过的 Header 和 Trailer,如果满足验证,则应将其间的所有行映射并加载到 db。我可以使用 Item Reader 和 Writer 来执行此操作吗?下面是一个示例文件数据,它有一个标题行、一个尾行以及在它们之间的行,其中包含要加载到 db 的实际数据。任何帮助表示赞赏。
HEADER|xxxxx|20190405T143025Z 行数据|行数据|行数据|行数据||行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|行数据|线数据|线数据|线数据|线数据
拖车|20190405T143025Z|1
ps:我是一名IIB开发人员,这是我第一次使用spring batch。