Весенний откат транзакции без нашего исключения

#spring #spring-transactions

#весенний #весенние транзакции

Вопрос:

Есть ли способ подавить или перехватить org.springframework.transaction.Исключение UnexpectedRollbackException, когда откат происходит в весенней транзакции.

У меня ситуация, когда я не хочу показывать 500 страниц пользователю, когда происходит откат.

Комментарии:

1. try { someBean.doSomethingTransactional(); } catch (UnexpectedRollbackException e) { ... } ?

2. это не сработает, я уже пробовал.

3. Да, так и будет. Почему бы ему не перехватить простое исключение Java? Конечно, doSomething Transactional должен быть методом, который фактически запускает транзакцию. Если вы уже в транзакции, это действительно не сработает.

4. Я говорю о весенней декларативной транзакции. Мой плохой, я должен был упомянуть в вопросе, который я задал. Транзакции управляются прокси-серверами. поэтому не удастся перехватить исключение в аннотированном методе.

5. Это моя точка зрения. Метод, вызывающий транзакционный метод, должен перехватить исключение. Не метод, аннотированный транзакционным.