gpt4 book ai didi

java - 为什么在 JSR 352 的 ItemWriter 接口(interface)中有一个 checkpointInfo?任何示例实现?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:50 25 4
gpt4 key购买 nike

为什么在 Jsr 352 ItemWriter 接口(interface)中有一个 checkpointInfo 方法。读者和作者如何就正在提交的内容进行交流

最佳答案

作者无需使用 checkpointInfo() 方法。您可以简单地选择忽略 open() 中的检查点值并返回 null(如 AbstractItemWriter 所做的那样)。这很常见。通常,您不需要任何类型的“游标”或索引来写入数据库,因为您只需插入/更新读取器/处理器给您的任何内容(基于读取器检查点等)。

您可以在写入平面文件时使用检查点。由于文件写入通常不是事务性的,因此您需要以某种方式考虑到这一点。

一种简单的方法是将字节#/偏移量检查点放入文件中,位于最近 block 的末尾。因此,如果在您将记录 501-600 写入文件后 block 事务回滚,那么在重新启动时您将重新读取和重新处理记录 501-600。即使记录 501-600 已经存在于文件中,您现在将覆盖它们,因为您(重新)从记录 500 之后的字节位置开始。

由于不需要太频繁地重新启动,并且您只有一个 block 值得重新处理,因此这可以提供一种简单、可接受的方法来解决缺少事务资源的问题。

关于java - 为什么在 JSR 352 的 ItemWriter 接口(interface)中有一个 checkpointInfo?任何示例实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45492045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com