JDBC锁:如何判断异常是由锁定超时引起的?

时间:2018-02-17 20:52:54

标签: mysql oracle jdbc locking

JDBC锁:

select * from Foo for update

如果锁失败,mysql将抛出SQLTransactionRollbackException,oracle将抛出SQLException。如何判断异常是否由锁定引起(例如更新)?

1 个答案:

答案 0 :(得分:1)

在oracle中,您会看到ORA-04020:在尝试锁定对象时检测到死锁。可以通过从SQLException获取错误代码来检查代码。

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

        }