Как выполнить откат для определенного кода ошибки при обработчике исключенийJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как выполнить откат для определенного кода ошибки при обработчике исключений

Сообщение Anonymous »

Я использую @Transactional на уровне обслуживания, поэтому он откатится, если произойдет исключение RuntimeException. В моем проекте есть класс BusinessException, который расширяет 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»