Spring Batch:写入期间回滚后不遵守提交间隔
假设我的提交间隔是 1000。
在写入过程中,我在第 990 条记录处收到错误,根据跳过策略可以跳过该错误。
因此,将会发生回滚,写入器将再次开始从记录 1 写入相同的记录。
但是,这一次,它会提交每条记录。它不尊重提交间隔。这使得工作变得非常缓慢。
为什么会有这样的行为??我的配置中缺少什么吗?
谢谢。
Say my commit interval is 1000.
And during writing I get a error at 990th record which is skippable as per skip policy.
So a rollback will occur and the writer will start again writing the same records from record 1.
However, this time, It is commiting on each record. It does not honour commit interval. This is making the job dead slow.
Why the behavior is like that ?? Am I missing something in my configuration ??
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该行为对于 Spring Batch 隔离坏项目是强制性的,基本上它会回滚块并使用 commit-rate=1 处理/写入每个项目以找到坏项目(在处理器或编写器中)
请参阅 Spring Batch论坛对类似问题的评论
相关部分
that bevaviour is mandatory for spring batch to isolate the bad item(s), basically it rollbacks the chunk and processes/writes each item with commit-rate=1 to find the bad one (in either processor or writer)
see spring batch forum comment to similar problem
the relevant part