So führen Sie beim Ausnahmehandler ein Rollback für einen bestimmten Fehlercode durch
Posted: 05 Jan 2025, 10:04
Ich verwende @Transactional in der Serviceschicht, damit es zurückgesetzt wird, wenn RuntimeException auftritt. Mein Projekt hat eine Klasse namens BussinessException, die RuntimeException erweitert. Ich werde den Fehlercode (z. B. CAM00001) an den aufgetretenen Geschäftsfehler anhängen. Aber ich möchte nur einen Rollback durchführen, wenn ein bestimmter Fehlercode auftritt. Ich versuche, diesen Code unten zu verwenden, aber ich kopiere ihn einfach und verstehe ihn nicht. Hoffentlich zeigt mir jeder einen anderen Weg
Kann ich in den Rollback-Prozess eingreifen?
Kommentieren Sie einfach unten, wenn meine Frage zu verwirrend ist
( mein Englisch ist nicht so gut.
Code: Select all
catch (CustomException ex) {
if (!"CAM000116".equals(ex.getErrorCode())) {
System.out.println("Rolling back transaction for order: " + orderId);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} else {
System.out.println("No rollback for CUS000116 error code: " + orderId);
}
throw ex;
}
Kommentieren Sie einfach unten, wenn meine Frage zu verwirrend ist
