Decouple that application, will you?
http://blog.gauffin.org/2012/10/writing-decoupled-and-scalable-applications-2/
http://blog.gauffin.org/2012/10/introducing-griffin-decoupled/
https://github.com/jgauffin/Samples/tree/master/Griffin.Decoupled
All these features can be turned on/off.
- Sync/Async dispatching of commands/events
- Automatic retry of failing commands
- Store commands (commands will be executed at the next start if the app crashes)
- Hold domain events until a transaction successfully committs (events will be deleted if it fails).