#spring #spring-transactions
#весенний #весенние транзакции
Вопрос:
Есть ли способ подавить или перехватить org.springframework.transaction.Исключение UnexpectedRollbackException, когда откат происходит в весенней транзакции.
У меня ситуация, когда я не хочу показывать 500 страниц пользователю, когда происходит откат.
Комментарии:
1.
try { someBean.doSomethingTransactional(); } catch (UnexpectedRollbackException e) { ... }
?2. это не сработает, я уже пробовал.
3. Да, так и будет. Почему бы ему не перехватить простое исключение Java? Конечно, doSomething Transactional должен быть методом, который фактически запускает транзакцию. Если вы уже в транзакции, это действительно не сработает.
4. Я говорю о весенней декларативной транзакции. Мой плохой, я должен был упомянуть в вопросе, который я задал. Транзакции управляются прокси-серверами. поэтому не удастся перехватить исключение в аннотированном методе.
5. Это моя точка зрения. Метод, вызывающий транзакционный метод, должен перехватить исключение. Не метод, аннотированный транзакционным.