Can e.g. commit further operations that are supposed to follow on a successful commit of the main transaction, like confirmation messages or emails.
NOTE: The transaction will have been committed already, but the transactional resources might still be active and accessible. As a consequence, any data access code triggered at this point will still "participate" in the original transaction, allowing to perform some cleanup (with no commit following anymore!), unless it explicitly declares that it needs to run in a separate transaction. Hence: Use PROPAGATION_REQUIRES_NEW
for any transactional operation that is called from here.
@throws RuntimeException in case of errors; will be propagated to the caller(note: do not throw TransactionException subclasses here!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|