Deciding on the Implementation
Axon Framework doesn’t create a DeadlineManager
automatically for you, so you have to choose from a set of implementations.
When setting up deadlines for sagas it’s best to choose a solution based on the saga storage solution.
For deadlines in aggregates, it’s best to choose the same storage solution as the Event Store.
In case you use Axon Server, it’s best to store deadlines in the same solution as your projections.
If you are using a relational database, the DbSchedulerDeadlineManager
is the best choice.
For MongoDB the JobRunrDeadlineManager
would be a good second.
Both solutions require a database as a synchronization and persistence layer.
For now, sticking to the SimpleDeadlineManager
as it’s easier to use.
Note that the SimpleDeadlineManager
isn’t production-ready, as it doesn’t persist deadlines or communicate between application instances.