Chronicle Queue - 接收周期的最后一个索引
Chronicle Queue - Recieve last index of cycle
我正在尝试使用编年史队列来确定当前周期的最后一个索引。
在删除循环的单个 cq4 之前,我将使用起始索引和最后一个索引进行最终检查。
我希望能够在不遍历每条记录的情况下找到循环的最后一个索引。这可能吗?
或
有没有办法在不实际读取记录的情况下将 tailer 移动到下一个索引,它可以滚动多个周期吗?
- 您可以从末尾向后阅读并查看循环编号,直到您到达目标循环的最后一条记录。一旦您处于目标周期,请查看索引,这将告诉您该周期的最后一个索引。
或
- 你可以使用 countExcerpts
net.openhft.chronicle.queue.impl.single.SingleChronicleQueue#countExcerpts(fromIndex,toIndex)
其中:
fromIndex = 目标循环的第一个索引
toIndex=下一个循环的第一个索引
这将为您提供目标周期中的消息数,您可以将其视为 sequenceNumber,然后您只需使用 queue.rollCycle().toIndex(targetCycle, sequenceNumber );
我正在尝试使用编年史队列来确定当前周期的最后一个索引。 在删除循环的单个 cq4 之前,我将使用起始索引和最后一个索引进行最终检查。
我希望能够在不遍历每条记录的情况下找到循环的最后一个索引。这可能吗?
或
有没有办法在不实际读取记录的情况下将 tailer 移动到下一个索引,它可以滚动多个周期吗?
- 您可以从末尾向后阅读并查看循环编号,直到您到达目标循环的最后一条记录。一旦您处于目标周期,请查看索引,这将告诉您该周期的最后一个索引。
或
- 你可以使用 countExcerpts
net.openhft.chronicle.queue.impl.single.SingleChronicleQueue#countExcerpts(fromIndex,toIndex)
其中:
fromIndex = 目标循环的第一个索引
toIndex=下一个循环的第一个索引
这将为您提供目标周期中的消息数,您可以将其视为 sequenceNumber,然后您只需使用 queue.rollCycle().toIndex(targetCycle, sequenceNumber );