Я использую Spring Boot 3 с базой данных Oracle (используется JparePository и Hikari Connection), и у меня есть странное поведение при использовании тайм-аута на @Transactional.
Что я хочу сделать, но если запрос слишком длинный, то я хочу время-аут, за исключением, чтобы вернуть конкретную ошибку на фронт.@Transactional(readOnly = true, timeout = 30)
< /code>
В журналах я вижу эти ошибки: < /p>
ORA-01013: user requested cancel of current operation
...
ERROR o.s.t.i.TransactionInterceptor - Application exception overridden by rollback exception
...
Caused by: oracle.jdbc.OracleDatabaseException: ORA-01013
< /code>
В контроллере, если я поймаю исключение, брошенное службой, у меня есть исключение JPA из -за того, что откат не может быть сделан, потому что соединение закрыто. Кроме того, я не ожидаю, что у меня будет ошибка из -за закрытого соединения, но просто иметь транзакционно -типовое или что -то подобное, чтобы поймать, указывая на то, что ошибка связана с тайм -аутом.
Можете ли вы мне помочь?
Подробнее здесь: https://stackoverflow.com/questions/795 ... ransaction