Given:
We have multiple TEPs. Some are created over Aggregates, other are simply @Component with @EventHandlers, and finally others still are @Componenet with a name @ProcessingGroup which maps to a kafkatracking event processor with our own segmentation policy.
Some of the detail above is not entirely relevant to the question but may be. The point being is how differently some of the TEPs are defined.
Problem:
We observed a strange behavior where when the application first reboots (but not the first time ever) it will for some period of time not properly dispatch events to the desired TEP.
After debugging things further we have the following question:
If you have multiple TEPs on a single processor instance where each operates in its own thread; does each TEP get a copy of each event/message to try and match against its event handlers? Or does only one TEP consume the event? If each gets a copy how and/or where are the events popped off the buffer?