0 Tage Serie
java / intermediate
Snippet

Feingranulare Transaktions-Rollback-Strategien

Sie können das Transaktionsverhalten anpassen, indem Sie definieren, welche Exceptions einen Rollback auslösen sollen und welche die Transaktion dennoch abschließen lassen.

snippet.java
java
1
2
3
4
5
6
7
8
9
@Service
public class OrderService {
@Transactional(rollbackFor = PaymentException.class, noRollbackFor = LogException.class)
public void completeOrder(Order order) throws PaymentException {
inventoryService.update(order);
paymentService.charge(order);
logService.audit(order);
}
}
spring
Erklärung
1
rollbackFor = PaymentException.class
Stellt sicher, dass die Transaktion zurückgesetzt wird, wenn eine PaymentException auftritt.
2
noRollbackFor = LogException.class
Ermöglicht den Commit der Transaktion, selbst wenn eine unkritische LogException geworfen wird.