Блокировка JDBC: как определить, что исключение вызвано таймаутом блокировки?

0

Блокировка JDBC:

select * from Foo for update

Если блокировка не удалась, mysql будет вызывать SQLTransactionRollbackException, а оракул будет вызывать SQLException. Как определить, вызвано ли исключение блокировкой (например, для обновления)?

Теги:
jdbc
locking

1 ответ

1
Лучший ответ

В оракуле вы увидите ORA-04020: обнаружен тупик при попытке заблокировать объект. Код можно проверить, получив код ошибки из SQLException.

       try {
          ...do work
        } catch (SQLException e) {
          int errCode = e.getErrorCode();

        }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню