Получение трассировки стека для исключений в методе Spring @Transactional - PullRequest
0 голосов
/ 06 февраля 2019

Недавно был случай, когда метод @Transactional завершился без сообщения о каких-либо проблемах, но без данных, записанных в БД, поэтому в некоторый момент произошел откат.Мне потребовалось много времени, чтобы найти строку, в которой было сгенерировано исключение NullPointerException.Так как не было никаких трассировок стека или журналов ошибок, указывающих на проблему, он просто молча завершил работу.

Так есть ли способ получить полную трассировку после возникновения исключения в транзакции?

Пробная настройка уровня журнала дляorg.springframework.transaction.interceptor = trace но единственное, что я получил, это строка Applying rules to determine whether transaction should rollback on java.lang.NullPointerException, которая, хотя и сообщает о проблеме, не показывает, где именно это произошло.

1 Ответ

0 голосов
/ 06 февраля 2019

Если вы хотите, чтобы транзакция откатывалась в случае исключения.Пожалуйста, через какое-то дочернее исключение класса Exception.Пожалуйста, обновите вашу аннотацию следующим образом.@Transactional (rollbackFor = Exception.class)

...