Очередь хроники - получение последнего индекса цикла - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь использовать хроническую очередь для определения последнего индекса текущего цикла. Я буду использовать начальный индекс и последний индекс для окончательной проверки перед удалением одного cq4 для цикла.

Я бы хотел найти последний индекс цикла, не просматривая каждую запись. Возможно ли это?

Или

Есть ли способ переместить тейлера к следующему индексу без фактического чтения записи, и будет ли он работать с циклическим переворотом?

1 Ответ

1 голос
/ 07 ноября 2019
  1. Вы можете читать назад с конца и смотреть на номер цикла, пока не дойдете до последней записи целевого цикла. Как только вы достигнете целевого цикла, посмотрите на индекс, и он покажет вам последний индекс этого цикла.

или

вы можете использовать countExcerpts

net.openhft.chronicle.queue.impl.single.SingleChronicleQueue # countExcerpts (fromIndex, toIndex)

где:

fromIndex = первый индекс целевого цикла

toIndex = первый индекс следующего цикла

Это даст вам количество сообщений в целевом цикле, вы можете считать, что этоsequenceNumber, тогда вам просто нужно определить его индекс, используя queue.rollCycle (). toIndex (targetCycle, sequenceNumber);

...