This chapter covers:
- Why you need transactions
- How to use and configure transactions
- The differences between local and global transactions
- Using transactions with messaging and database
- Difference between local and global (XA) transactions
- How to rollback transactions
- How to compensate when transactions aren’t supported
- Preventing duplicate messages using idempotency
- Learning about the various idempotent repository implementations that is shipped out of the box