问题标签 [compositeitemwriter]

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

transactions - CompositeItemWriter 的 Spring 批量提交间隔

spring batch 如何识别 a 中的interval提交compositeItemWriter

如果我的commit-interval=50000, 和我有一个CompositeItemWriter,其中包含 4 个不同的作者,每个作者都传递了一个50000记录列表。事务是否在写入 200000() 条记录结束时提交50000 * 4

如果其中 1 个itemWriters因 1 失败exception,那么整个 1 会发生什么transaction

0 投票
1 回答
9760 浏览

java - Spring Batch:如何创建复合项目编写器?

Spring BatchSpring Boot应用程序中使用。Spring Boot 版本1.3.5.RELEASE是.

我正在尝试使用CompositeItemWriter,以便首先由 WriterOne 压缩/压缩项目列表,然后将其传递给 WriterTwo,然后将它们写入数据库。

这是我的作家1:

这是我的作家2:

这是我正在尝试初始化任务步骤并为其提供 CompositeItemWriter 而不是 ItemWriter。

然后代码给出编译时错误:

0 投票
1 回答
937 浏览

spring - 使用 FlatFileItemWriter 将数据写入 InputStream

我正在尝试将数据写入InputStream而不是写入文件。

我的 Writer 类扩展FlatFileItemWriter

我看到FlatFileItemWriter<>可以选择将数据写入InputStream

我正在设置这样的资源

我收到以下错误

可以做些什么来纠正这个问题?或者还有其他方法可以实现吗?

这样做的目的是通过S3Client将流发送到AWS S3 ,这比创建文件实例并上传它更舒服。

0 投票
1 回答
8452 浏览

spring-batch - Spring Batch CompositeItemWriter 如何为委托编写者管理事务?

在批处理作业步骤配置中,我计划在 writer 中执行 2 个查询,第一个查询是更新表 A 中的记录,然后第二个查询是再次在表 A 中插入新记录。

到目前为止,我认为 CompositeItemWriter 可以实现我上面的目标,即我需要创建2个JdbcBatchItemWriters,一个用于更新,另一个用于插入。

我的第一个问题是 CompositeItemWriter 是否适合上述要求?

如果是,那就引出关于交易的第二个问题。例如,如果第一次更新成功,第二次插入失败。第一次更新事务会自动回滚吗?否则,如何在同一个事务中手动提取两个更新?

提前致谢!

0 投票
1 回答
8936 浏览

list - 使用 JdbcBatchItemWriter 编写项目列表

目前我正在使用 JpaItemWriter 编写对象列表,如下所示,工作正常。由于性能问题,现在我想将 JpaItemWriter 更改为 JdbcBatchItemWriter。

建议使用 JdbcBatchItemWriter 编写对象列表的示例片段将有所帮助。尝试使用 ItemSqlParameterSourceProvider 它没有帮助结束org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter 异常

0 投票
0 回答
160 浏览

spring-batch - onWriteError 不适用于 MongoItemWriter

异常没有达到onWriteError我的方法ItemWriteListener

构建.gradle

有人可以帮帮我吗?

0 投票
3 回答
2207 浏览

java - Spring Batch - 尝试读取/写入同一个表时出现 DeadlockLoserDataAccessException

我正在开发一个 Spring Batch 应用程序,该应用程序将从表 A 中读取未处理的数据,处理数据,将处理后的数据插入表 B,然后将表 A 中的行更新为已处理。但是,虽然将数据插入表 B 工作正常,但每次尝试更新表 A 时,我都会收到 DeadlockLoserDataAccessException。我相信这是由于用于读取表 A 的 JDBCCursorItemReader 中的 Curser 妨碍了更新表。我将如何解决这个问题?

我在 Spring Batch 中使用了 JDBCCursorItemReader 和 CompositeItemWriter。块大小为 1。

0 投票
1 回答
267 浏览

java - 不能使用 CompositeItemWriter:ItemWriter 不是 ItemStream

我有以下代码

我在将 writer1 设置为流时遇到 IntelliJ 错误,因为 id 没有实现 ItemStream。

我究竟做错了什么?有没有人有解决方案?我没有找到太多关于基于 java 的复合编写器配置的信息。

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

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

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

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

0 投票
1 回答
92 浏览

spring-batch - ClassifierCompositeItemWriter 与 AsyncItemWriter?

我目前正在使用AsyncItemWriter将处理后的学生详细信息输入写入我的数据库表中。我最近要求根据标准写入几个数据库表(如果学生在最后一年,也可以在单独的表中写入额外的数据)。

目前我定义了两个单独工作的 AsyncItemWriter Bean。尝试使用CompositeItemWriter,它实际上可以工作并使用两个委托写入适当的表。现在,只有在满足上述条件时,我才想致电第二位作家。

我尝试使用ClassifierCompositeItemWriter和我的Student类的自定义Classifier实现,当满足去年学生的条件时,它应该返回CompositeItemWriter ,否则调用单个AsyncItemWriter来存储学生数据。不幸的是,当调用ClassifierCompositeItemWriter的方法时,写入列表中的项目属于FutureTask类型,并且在调用时写入器失败并出现ClassCastException,因为它无法将FutureTask转换为我的Student模型。write()classify()

不幸的是,我目前手头没有代码,但尝试尽可能彻底。