1) В chronicle queue v4 наиболее test patterns показать некоторую форму DocumentContext.isPresent()
busy state checking, когда ExcerptTailer
расположен в конце очереди и код ждет для новых записей, чтобы прибыть из ExcerptAppender
.хроника событий очереди слушатель
2) Есть ли встроенный механизм очереди летописной для асинхронных appender -> tailer
уведомлений, например, что при получении события уведомления, данного tailer
гарантировано иметь по крайней мере один вход отправленного appender
, готов для чтения?
3) Если нет, то, что рекомендуется шаблон для реализации таких event listener
? Пожалуйста, поделитесь рабочим примером?
A) re: ** использовать методReader/methodWriter ** - из [часть-2] (https://vanilla-java.github.io/2016/03/24/Microservices-in-the-Chronicle- world-Part-2.html) и [MethodReader.readOne()] (https://github.com/OpenHFT/Chronicle-Wire/blob/master/src/main/java/net/openhft/chronicle/wire/MethodReader .java # L198) кажется, что 'readOne()' семантически идентичен 'isPresent()', т.е. там нет уведомления о событиях или блокировки, правильно? –
B) re: ** в том же процессе вы можете использовать другой механизм ** - в этом случае, что такое 'ExcerptAppender' /' ExcerptTailer' синхронизация контракта? то есть 'appender ... doc.close()' является гарантией того, что 'tailer ... doc.isPresent()' увидит изменение, когда будет сообщено после 'appender ... doc.close()'? –
@AndreiPozolotin правильный. Никаких блокирующих действий нет. –