【发布时间】:2012-06-18 11:35:25
【问题描述】:
我的 web 应用程序代码是用 java、swing、hibernate 组合编写的,在 tomcat5 中运行。在某些情况下,一个表在更新/删除时被锁定,一段时间后无法自行解锁[错误是:mysql lock wait timeout exceeded, try restarting transaction],导致应用程序无法访问。
我必须编写一个 java 调度程序,它会定期检查锁定状态,并在某个指定时间后说 30 秒解锁表。
具体来说我想知道如何检查表是否被锁定?以及如何解锁?
谢谢
【问题讨论】:
-
我遇到了同样的问题,但我解决它的想法不同——我不知道它是否适合你,因为你没有提供任何细节。据我所知,您应该不可能解锁表锁,因为看起来它不会是试图解锁的同一个线程,并且会被数据库拒绝。