Hi all,
I am creating a new event handler to create a report. The requirement is that I start listening for certain event after a certain date which is pretty much close to the end of our 100M events. I am using the following registration for the handler:
configurer.registerTrackingEventProcessor(processingGroup, org.axonframework.config.Configuration::eventStore,
conf -> TrackingEventProcessorConfiguration.forParallelProcessing(projector.getMaxThreads())
.andBatchSize(projector.getBatchSize())
.andInitialTrackingToken(streamableMessageSource -> streamableMessageSource
.createTokenAt(projector.getEventReplayStartAt())))
.registerHandlerInterceptor(processingGroup, configuration -> new EventHandlerLoggingInterceptor())
.registerErrorHandler(processingGroup, conf -> projector.newErrorHandler());
This actually does the job but unfortunately it took around 12 hours to “skip” to the events that I need to process. I understand that I can use more threads and a larger batch size to process more events, but it seems to be very inefficient to have to read and skip all the events until the very end. Is there a way that you can recommend me to proceed tackling this? I was thinking if there is a way to just “skip” to a particular event (like a global event index) without reading from the start would be great.