如何在PreparedStatement上设置查询超时?

时间:2011-05-06 15:27:36

标签: java jdbc

有没有办法让Connection.prepareStatement()抛出错误或返回,而不是等待行锁?

我正在尝试使用我不提交的预准备语句来实现跨进程同步,因此它会抓取特定行上的写锁定。在其他进程中,它尝试准备sql语句,然后在原始进程完成时挂起。我需要这个让我知道它是挂起的,所以我可以停止这个功能,并在重新安排时再试一次。

有什么想法吗?我已经谷歌搜索了几天,似乎无法找到是/否。

1 个答案:

答案 0 :(得分:19)

我是个傻瓜,昨天我想出来,只是忘了......

要解决它,请执行

preparedstatement = con.prepareStatement(query);
preparedstatement.setQueryTimeout(seconds);

然后抓住异常。