Какова роль BatchEventProcessor в шаблоне разрушителя lmax?
BatchEventProcessor<ValueEvent> eventProcessor
= новый BatchEventProcessor (кольцевой буфер, барьер, обработчик);
EXECUTOR.execute( eventProcessor );
Какова роль BatchEventProcessor в шаблоне разрушителя lmax?
BatchEventProcessor<ValueEvent> eventProcessor
= новый BatchEventProcessor (кольцевой буфер, барьер, обработчик);
EXECUTOR.execute( eventProcessor );
BatchEventProcessor — это реализация eventProcessor, которая отслеживает количество событий, доступных при каждом его вызове. Затем он делегирует фактическую обработку каждого события вашему обработчику событий и сигнализирует, когда последнее событие пакета было доставлено вашему обработчику событий.
Идея заключается в том, что если вы хотите отложить публикацию события от вашего обработчика, например. добавление группы событий в одно большое сообщение.
Если мы говорим о задаче «добавление группы событий в одно более крупное сообщение» из ответа Сэма, BatchEventProcessor делает возможным для нас две основные вещи: