问题标签 [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.
transactions - CompositeItemWriter 的 Spring 批量提交间隔
spring batch 如何识别 a 中的interval
提交compositeItemWriter
?
如果我的commit-interval=50000
, 和我有一个CompositeItemWriter
,其中包含 4 个不同的作者,每个作者都传递了一个50000
记录列表。事务是否在写入 200000() 条记录结束时提交50000 * 4
?
如果其中 1 个itemWriters
因 1 失败exception
,那么整个 1 会发生什么transaction
?
java - Spring Batch:如何创建复合项目编写器?
我Spring Batch
在Spring Boot
应用程序中使用。Spring Boot
版本1.3.5.RELEASE
是.
我正在尝试使用CompositeItemWriter
,以便首先由 WriterOne 压缩/压缩项目列表,然后将其传递给 WriterTwo,然后将它们写入数据库。
这是我的作家1:
这是我的作家2:
这是我正在尝试初始化任务步骤并为其提供 CompositeItemWriter 而不是 ItemWriter。
然后代码给出编译时错误:
spring - 使用 FlatFileItemWriter 将数据写入 InputStream
我正在尝试将数据写入InputStream
而不是写入文件。
我的 Writer 类扩展FlatFileItemWriter
我看到FlatFileItemWriter<>
可以选择将数据写入InputStream
我正在设置这样的资源
我收到以下错误
可以做些什么来纠正这个问题?或者还有其他方法可以实现吗?
这样做的目的是通过S3Client将流发送到AWS S3 ,这比创建文件实例并上传它更舒服。
spring-batch - Spring Batch CompositeItemWriter 如何为委托编写者管理事务?
在批处理作业步骤配置中,我计划在 writer 中执行 2 个查询,第一个查询是更新表 A 中的记录,然后第二个查询是再次在表 A 中插入新记录。
到目前为止,我认为 CompositeItemWriter 可以实现我上面的目标,即我需要创建2个JdbcBatchItemWriters,一个用于更新,另一个用于插入。
我的第一个问题是 CompositeItemWriter 是否适合上述要求?
如果是,那就引出关于交易的第二个问题。例如,如果第一次更新成功,第二次插入失败。第一次更新事务会自动回滚吗?否则,如何在同一个事务中手动提取两个更新?
提前致谢!
list - 使用 JdbcBatchItemWriter 编写项目列表
目前我正在使用 JpaItemWriter 编写对象列表,如下所示,工作正常。由于性能问题,现在我想将 JpaItemWriter 更改为 JdbcBatchItemWriter。
建议使用 JdbcBatchItemWriter 编写对象列表的示例片段将有所帮助。尝试使用 ItemSqlParameterSourceProvider 它没有帮助结束org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter
异常
spring-batch - onWriteError 不适用于 MongoItemWriter
异常没有达到onWriteError
我的方法ItemWriteListener
:
构建.gradle
有人可以帮帮我吗?
java - Spring Batch - 尝试读取/写入同一个表时出现 DeadlockLoserDataAccessException
我正在开发一个 Spring Batch 应用程序,该应用程序将从表 A 中读取未处理的数据,处理数据,将处理后的数据插入表 B,然后将表 A 中的行更新为已处理。但是,虽然将数据插入表 B 工作正常,但每次尝试更新表 A 时,我都会收到 DeadlockLoserDataAccessException。我相信这是由于用于读取表 A 的 JDBCCursorItemReader 中的 Curser 妨碍了更新表。我将如何解决这个问题?
我在 Spring Batch 中使用了 JDBCCursorItemReader 和 CompositeItemWriter。块大小为 1。
java - 不能使用 CompositeItemWriter:ItemWriter 不是 ItemStream
我有以下代码
我在将 writer1 设置为流时遇到 IntelliJ 错误,因为 id 没有实现 ItemStream。
我究竟做错了什么?有没有人有解决方案?我没有找到太多关于基于 java 的复合编写器配置的信息。
spring - 如何在日志中为 Spring 批处理库启用更多详细信息
再会,
我有一个 Spring 批处理,org.springframework.batch.item.support.CompositeItemWriter
用于将数据写入数据库。
以下是我的 xml 中的编写器代码:
以下是IReturnTableWriter
类的代码:
以下是IReturnWriterTableMapper
类的代码:
批处理日志显示此批处理运行成功,没有任何错误。成功计数与我的输入文件行计数匹配。在日志中,我还看到它被阅读器读取并存储到trxVO
对象中。
但是,有 1 条记录没有更新到生产中的数据库,即使成功计数是正确的。我抓取输入文件并在 SIT、UAT 中运行,并且工作正常。从日志中,我看不到有关更新查询的日志。
我实际上已经启用了日志级别来跟踪org.springframework.batch
logback.xml org.springframework.jdbc
:
在日志中,我可以看到它已经生效:
我想问一下如何为作者启用更多日志,以便我可以解决正在发生的事情。
或者,如果您有更有用的想法或建议,请指教。
spring-batch - ClassifierCompositeItemWriter 与 AsyncItemWriter?
我目前正在使用AsyncItemWriter将处理后的学生详细信息输入写入我的数据库表中。我最近要求根据标准写入几个数据库表(如果学生在最后一年,也可以在单独的表中写入额外的数据)。
目前我定义了两个单独工作的 AsyncItemWriter Bean。尝试使用CompositeItemWriter,它实际上可以工作并使用两个委托写入适当的表。现在,只有在满足上述条件时,我才想致电第二位作家。
我尝试使用ClassifierCompositeItemWriter和我的Student类的自定义Classifier实现,当满足去年学生的条件时,它应该返回CompositeItemWriter ,否则调用单个AsyncItemWriter来存储学生数据。不幸的是,当调用ClassifierCompositeItemWriter的方法时,写入列表中的项目属于FutureTask类型,并且在调用时写入器失败并出现ClassCastException,因为它无法将FutureTask转换为我的Student模型。write()
classify()
不幸的是,我目前手头没有代码,但尝试尽可能彻底。