有没有办法让Connection.prepareStatement()抛出错误或返回,而不是等待行锁?
我正在尝试使用我不提交的预准备语句来实现跨进程同步,因此它会抓取特定行上的写锁定。在其他进程中,它尝试准备sql语句,然后在原始进程完成时挂起。我需要这个让我知道它是挂起的,所以我可以停止这个功能,并在重新安排时再试一次。
有什么想法吗?我已经谷歌搜索了几天,似乎无法找到是/否。
答案 0 :(得分:19)
我是个傻瓜,昨天我想出来,只是忘了......
要解决它,请执行
preparedstatement = con.prepareStatement(query);
preparedstatement.setQueryTimeout(seconds);
然后抓住异常。