I have been reading the docs of the DeadlineManager and the EventScheduler provided by Axon. Although they do have some differences they have some common ground too in that both can take care of publishing events in the future. What is the long term vision for both within Axon? Will both converge or will either one be deprecated?
The most prominent differences I notice:
- the DeadlineManager targets an aggregate instance which is not possible with the EventScheduler. Targeting a saga instance is possible with both DeadlineManager and EventScheduler though with different semantics: the DeadlineManager resolves the saga by saga identifier while the EventScheduler resolves the saga by association value.
- Events published by the DeadlineManager are not stored in the EventStore. I assume though, a @DeadlineHandler annotated method in an aggregate could still call AggregateLifycle.apply() to store events.
Am I correct?