I am coding something that does not use Axon, but wanted to see how such a situation might be handled using Axon. It’s a simple sequence of steps that could error out and a retry is warranted. It seems like something a saga would handle, but I could be wrong. So, here goes.
- User generates invoice (InvoiceGenerated)
- When the invoice is generated, I need to create a notification. However, if nobody is able to receive the notification, then one will not be created and the user who generated the invoice will go and correct the situation. (InvoiceNotificationCreated)
- Once the notification has been created, we will need to send it as an email. Not sure of all the potential exceptions that could occur here, but the one that stands out to me is that the email server is down or otherwise unreachable. But, the email needs to go out eventually.
How might something like this be implemented? Thanks!