We are developing an Axon application (version 3.4) and have a need to wait for an external party without receiving any acknowledgement from them that they are ready.
- Handle events that offers have been made to applicants.
- On an external schedule (e.g. daily), collate those offers by institution into files and upload them into a collection area.
- Send a notification email to each institution.
- Wait 2 hours.
- Send notifications to each of the applicants about their offers.
I am looking for the best way to implement step 4. We need to reliably wait for two hours and then send notifications to all the applicants, surviving loss of any of our application cluster nodes.
Using QuartzDeadlineManager.schedule on the Offer aggregate seems the simplest solution. When we tried that with a short delay (10 seconds) but the @DeadlineHandler method was never called.
Perhaps our Spring Boot configuration of QuartzDeadlineManager was not correct. Does anybody have some Spring Java / Kotlin configuration they can share that would help us?
Thanks in advance