Я использую @Transactional на уровне обслуживания, поэтому он откатится, если произойдет RuntimeException. В моем проекте есть класс BussinessException, который расширяет RuntimeException. Я приложу код ошибки (например: CAM00001) к возникшей бизнес-ошибке. Но я просто хочу выполнить откат, если произойдет определенный код ошибки. Я пытаюсь использовать этот код ниже, но просто копирую его и ничего не понимаю. Надеюсь, все подскажут мне другой способ
Код: Выделить всё
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;
}
Могу ли я вмешаться в процесс отката?
Просто прокомментируйте ниже, если мой вопрос слишком запутанный

( мой английский не слишком хорош.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... on-handler