问题标签 [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 回答
450 浏览

spring-batch - Spring批处理概念需要澄清

我是 Spring Batch 的新手,我在使用 Spring Batch 实现我的业务用例时遇到了问题。

基本上,我正在从数据库中读取数据,即时事通讯的订阅者列表。然后,我需要向每个订阅者发送一封电子邮件,并将数据插入到数据库中,以便知道电子邮件发送给了哪个订阅者。

我使用了一个 ItemProcessor 实现,它的 process 方法返回一个 MimeMessage 并将订阅者作为参数;与此处理器关联的编写器的类型为:org.springframework.batch.item.mail.javamail.MimeMessageItemWriter

问题是我需要另一个用于数据库插入的编写器(可能使用 CompositeItemWriter),它将订阅者列表作为参数,我所拥有的所有输入都是来自上述 ItemProcessor 的 MimeMessage。

有人可以帮忙吗?

0 投票
5 回答
37875 浏览

spring - Spring Batch:一个阅读器,多个处理器和编写器

在 Spring 批处理中,我需要将 ItemReader 读取的项目传递给两个不同的处理器和编写器。我想要达到的是...

这是必需的,因为与 ItemWriter#2 编写的项目相比,由 ItemWriter#1 编写的项目应该以完全不同的方式处理。此外,ItemReader 从数据库中读取项目,它执行的查询计算量太大,以至于执行两次相同的查询应该被丢弃。

关于如何实现这种设置的任何提示?或者,至少,一个逻辑上等效的设置?

0 投票
2 回答
3339 浏览

json - 如何使用 Spring 批处理将 DB 的输出写入 JSON 文件?

我是 Spring Batch 的新手,我需要从 DB 中读取数据并写入 JSON 格式。最好的方法是什么?有什么api吗?或者我们需要编写自定义作家?或者我需要使用 GSON 或 JACKSON 等 JSON 库?请指导我...

0 投票
1 回答
3841 浏览

spring - 如何使用 Classifier 和 ClassifierCompositeItemWriter?

在实现 ClassifierCompositeItemwriter 时遇到问题...

我正在阅读一个基本的 CSV 文件,我想把它们写成一个数据库。根据数据(名称+名称1)将其写入简单的ItemWriter或使用compositeItemwriter(写入两个不同的表)......

这是我的:ClassifierCompositeItemwriter请参阅 > 下面的错误消息

我尝试使用分类器接口实现分类器

Eclipse 不断告诉我:ClassifierCompositeItemWriter 类型中的 setClassifier(Classifier>) 不适用于参数 (MySpecialClassifier)

0 投票
1 回答
2033 浏览

spring-batch - Spring Batch FlatFileItemWriter 用 List 写对象

我有一个 Pojo 合作伙伴:合作伙伴 ID 列表

地址 Pojo : AddressId, Address, City, Country, Pin

我想在 Spring Batch 中创建一个平面文件 - 文件将是:PartnerId;AddressId;Address;City;Country;Pin

我正在获取带有 ID 和地址列表的合作伙伴 Pojo

如何将 FlatFileItemWriter 与 PartnerPojo My FlatFileItemWriterConfiguration 配置一起使用:

我在 addressId 上收到错误

0 投票
1 回答
189 浏览

java - jpaitemwriter 以外的将项目写入 mariadb 的更快方法

我有一个从 Oracle 数据库读取的批处理作业,使用 JPA ITEM READER 存储 JPA,并使用 JPA ITEM WRITER 写入 MariaDB。有没有办法批量插入 MariaDB 或批量执行 mongodb 有 bulkoperations.execute() 方法?

我使用提供的 JpaItemWriter 如下:

阅读器是:

步骤配置是:

我想做一个自定义编写器,将值批量插入 mariaDb 并希望插入/upsert 的时间减少。目前插入 15000 所需的时间是 326 秒……这似乎有点长。

有什么建议么?

0 投票
1 回答
156 浏览

java - Spring Batch如何使用具有其他对象列表的对象持久化到数据库中

我有一个场景,我必须保留一个名为 DummyObject 的对象,该对象具有 OtherObject 列表。

我发布了一些虚拟课程。在上面的场景中,我可以使用 ItemPreparedStatementSetter 或 ItemWriter,还是有一些其他的 spring 提供的接口,我可以使用它来持久化带有 OtherObject 列表的虚拟对象。哪个是最好的方法,我该如何实现上述场景?

0 投票
1 回答
342 浏览

java - ItemWriter 只提交第一个提交间隔

我正在尝试从数据库中选择数据,更新每个对象,然后在 itemwriter 中更新数据库。

每次更新后我都尝试刷新 DAO,但它没有任何改变。

配置非常基本,有一个读取器、一个写入器和 100 的提交间隔。

阅读器按预期工作:

作者也很基础:

问题是前 100 条记录已提交,其余的则未提交。Spring批处理表显示它读取所有记录并多次提交,但是当我签入数据库时​​它只提交一次。

Spring-batch 的版本是 2.2.6。

更新

我认为这个问题是由于与数据库的事务,因为现在它根本没有提交到数据库。但我暂时无法弄清楚。

0 投票
1 回答
3178 浏览

java - 如何在 Spring Batch ItemWriter 中执行更新操作

我正在编写一个春季批处理作业,其中我正在从数据库中读取 ItemReader 并在处理器中应用一些规则并希望在 ItemWriter 中更新。

我无法弄清楚如何在 ItemWriter 类中执行更新操作。

我尝试使用更新语句设置数据源,但我不知道如何在此处传递主键来更新记录

0 投票
1 回答
860 浏览

spring - 如何在日志中为 Spring 批处理库启用更多详细信息

再会,

我有一个 Spring 批处理,org.springframework.batch.item.support.CompositeItemWriter用于将数据写入数据库。

以下是我的 xml 中的编写器代码:

以下是IReturnTableWriter类的代码:

以下是IReturnWriterTableMapper类的代码:

批处理日志显示此批处理运行成功,没有任何错误。成功计数与我的输入文件行计数匹配。在日志中,我还看到它被阅读器读取并存储到trxVO对象中。

但是,有 1 条记录没有更新到生产中的数据库,即使成功计数是正确的。我抓取输入文件并在 SIT、UAT 中运行,并且工作正常。从日志中,我看不到有关更新查询的日志。

我实际上已经启用了日志级别来跟踪org.springframework.batchlogback.xml org.springframework.jdbc

在日志中,我可以看到它已经生效:

我想问一下如何为作者启用更多日志,以便我可以解决正在发生的事情。

或者,如果您有更有用的想法或建议,请指教。