我在我的 java 应用程序中遇到问题,一旦我登录,我就可以访问任何不查询名为content
. 当我尝试查询此表时,它会坐着等着什么。我检查了 MsSQL 中的活动监视器,它似乎有一个锁。我试图弄清楚这是从哪里来的。我是具有 MySQL 背景的 MsSQL 新手。
我认为我们的 DAO 中的一些查询可能会导致这种情况,所以我将它们改为使用 JPA,但没有运气。
我在我的 java 应用程序中遇到问题,一旦我登录,我就可以访问任何不查询名为content
. 当我尝试查询此表时,它会坐着等着什么。我检查了 MsSQL 中的活动监视器,它似乎有一个锁。我试图弄清楚这是从哪里来的。我是具有 MySQL 背景的 MsSQL 新手。
我认为我们的 DAO 中的一些查询可能会导致这种情况,所以我将它们改为使用 JPA,但没有运气。
看起来会话 58 被会话 74 阻止。检查会话 74 是否被另一个会话阻止,依此类推,直到找到根锁。
您可以通过右键单击会话来终止会话,或者执行如下查询:
kill 74
上面已经解决了具体问题,但更普遍的问题是您的代码没有为查询执行配置 jdbc 驱动程序超时。它是关于如何执行此操作的特定驱动程序,因此您必须对 sqlserver 进行研究以弄清楚如何执行此操作。
通常,只需在管理连接的任何内容上设置一些属性即可。通常这将在底层 javax.sql.DataSource