SPRING CONCEPTS
Transaction propagation
Spring Concepts / Transaction propagation
Propagation determines how a transactional call relates to an existing transaction.
Understand the idea
REQUIRED joins an existing transaction or starts one when absent. REQUIRES_NEW suspends the outer transaction resources and starts an independent transaction. An audit attempt can commit independently while the outer operation rolls back. Calls must cross an advised bean boundary for the inner annotation to apply.
A concrete example
@Transactional(propagation = Propagation.REQUIRES_NEW)In the application
See the independently runnable examples in Stage 36, Stage 37.
An independent commit is a deliberate consistency choice, not a default for every service call.