Would you mind sharing what your set up is?
So, which version of Axon are you using?
And, are you using Axon Server together with it, or have you decided to use the ‘Axon Framework’-only solution?
SimpleEventBus indeed is as you’ve read only a mechanism to get an event from one side to another.
It is thus not in charge of recalling which events it has send over the wire, at all.
If you’d want to have a persistent mechanism of publishing and handling events, I’d strongly recommend to use Axon Server or a JPA/JDBC backed
EmbeddedEventStore in your application.
Additionally, based on your ‘event handler sends an email’ example, I’d like to suggest to have Event Handling Components which act as notification mechanism (e.g. sending emails) to be separated from the regular operating mode of your application.
Thus, a separate thread, dealing with handling the event and sending an email, is beneficial in this scenario.
Note that for this to work separately from the rest of your application, you will have to use a Tracking Event Processor.
Additionally, a Tracking Event Processor requires a persistent event storage mechanism, not just a regular
If the above does not give you enough insights, I assume you answering my earlier questions will get us to a point we can help you out Brian!