Что произойдет, если потребитель потерпит неудачу в Chronicle

Привет, глядя на Chronicle v3, что произойдет, если потребитель прочитает запись очереди, а затем попытается что-то сделать с этой записью ниже по течению, но потерпит неудачу.

Можно ли снова взять эту запись из очереди? Нужно ли все переигрывать?

Думаю об использовании Chronicle Queue для постановки в очередь нескольких документов json и их отправки в Elasticsearch :)


person user432024    schedule 12.11.2015    source источник


Ответы (1)


Вам нужно либо сохранить индекс записи, успешно обработанной, например:

if(tailer.nextIndex()) {
    process(tailer);

    saveIndex(tailer.index());
    tailer.finish(); 
}

Затем при перезапуске вы можете вернуться к последнему сохраненному индексу:

tailer.index(savedIndex());
person Luca Burgazzoli    schedule 13.11.2015