So I set up a IntervalRetryScheduler on certain non-AxonNonTransientException. The retry is doing what it is supposed to do, i.e. reprocess the command from the beginning. The issue is my aggregate command handler makes soap call, which is being invoked second time now. This soap call is not (can not be) managed by spring transaction which axon’s unit of work is utilizing.
How to better design this? Where should I invoke the soap call which should not be invoked twice? In EventHandler? This must have been encountered by other people. Thanks for the insight in advance.