Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mysql:如何识别表锁等待并解锁_Java_Mysql - Fatal编程技术网

Java Mysql:如何识别表锁等待并解锁

Java Mysql:如何识别表锁等待并解锁,java,mysql,Java,Mysql,我的web应用程序代码是用java、swing和hibernate组合编写的,它们在tomcat5中运行。更新/删除时有一个表被锁定,一段时间后无法自行解锁[错误是:超过mysql锁定等待超时,尝试重新启动事务],导致应用程序无法访问 我必须编写一个java调度器,它将定期检查锁状态,并在指定的时间后(比如30秒)解锁表 具体来说,我想知道如何检查表是否已锁定?如何解锁它 谢谢您可以使用非常低的超时来检查是否存在锁。如果返回代码为0,则另一个线程有一个锁,否则得到1,线程有一个锁 至于如何解锁,

我的web应用程序代码是用java、swing和hibernate组合编写的,它们在tomcat5中运行。更新/删除时有一个表被锁定,一段时间后无法自行解锁[错误是:超过mysql锁定等待超时,尝试重新启动事务],导致应用程序无法访问

我必须编写一个java调度器,它将定期检查锁状态,并在指定的时间后(比如30秒)解锁表

具体来说,我想知道如何检查表是否已锁定?如何解锁它

谢谢

您可以使用非常低的超时来检查是否存在锁。如果返回代码为0,则另一个线程有一个锁,否则得到1,线程有一个锁


至于如何解锁,这有点困难。它可能是一个持有锁的完全不同的应用程序,它持有锁的原因可能很充分。我不知道是否有可能强行打开锁。但是我不认为您真的想这样做。

我认为它不起作用,GET\u LOCK没有提供有关特定表锁的信息。它只是创建了一个具有给定名称的锁。我面临着同样的问题,但我解决它的想法不同-我无法判断它是否适合您,因为您没有提供任何详细信息。据我所知,您不可能解锁表锁,因为看起来它不会是尝试解锁的同一个线程,并且会被DB拒绝。