有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

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

    在写入平面文件时,可以使用检查点。由于文件写入通常不是事务性的,因此需要以某种方式对此进行解释

    一种简单的方法是在最近一个块的末尾检查字节#/offset到文件中。因此,如果区块事务在您将记录501-600写入文件后回滚,那么在重启时,您将重新读取并重新处理记录501-600。即使文件中已经有记录501-600,您现在也会覆盖它们,因为您(重新)从记录500之后的字节位置开始

    因为重启不应该太频繁,而且您只有一个区块值得重新处理,所以这可以提供一种简单、可接受的方法来解决事务性资源不足的问题