Disruptor incomingDisruptor = new Disruptor<T> (eventFactory, 1024, EXECUTOR, ProducerType.MULTI, waitStrategy)
BatchEventProcessor batchDBProcessor = new BatchEventProcessor(incomingDisruptor.getRingBuffer(), incomingDisruptor.getRingBuffer().newBarrier(), dbJournal);
EventHandlerGroup eventGroup = incomingDisruptor.handleEventsWith(batchDBProcessor);
EventHandlerGroup eventGroup1 = eventGroup.then(messageParser);
eventGroup1.then(businessHandler);
as part of cold restart procedures of the incomingDisruptor
DB Journaler is set at 951 seq no ; buiness Handler is at 751 seq no;
so we try to set the incoming disruptor to start publihing events from 751 sequence and replay/publish the messages from 751 to 951.
the code would then become
incomingDisruptor.getRingBuffer().resetTo(751)
batchDBProcessor.getSequence().set(951)
we then start publising events to the incoming buffer from 751 to 951.
expected result is that DB journaler to receive events after 951 and messageparser/buiness handler from 751.
what happens we see DB journaler receiving events after 951 and NO events received for messageparsers & buiness handlers ?
Looks like some thing wrong with the way the disruptor event handlers are set up. Is this b'cos there two Sequence barriers created one for messageParser and other for business handler
If i comment out businessHandler. then I could see the events firing to message Parser.
any comments on this is appreciated.
thank you.