'stuck'
当从 Hibernate 发出并在 Glassfish 实例上运行时,我们在连接到 SQL Server 2008 时遇到了一些问题。
有时,将有 10 或 20 次对存储过程的调用,这些调用都是'sleeping'
,并且保持打开多个事务。
当我DBCC INPUTBUFFER
用来了解更多关于它们的信息时,它有:
名称:implicit_transaction
这是否意味着 java 应用程序正在设置'SET IMPLICIT_TRANSACTIONS ON'
为批处理的一部分?我能够在数据库端复制该事务名称的唯一方法是使用该语法。
似乎 java 应用程序挂在连接上,但不知何故丢失了调用本身的上下文,因此它永远不会回来提交事务。
Java 开发人员说他们没有明确定义任何连接,也没有说他们故意设置任何其他连接属性。这些调用都是在 READ COMMITTED 隔离级别下进行的。
我怎样才能知道是否有一些隐藏的属性集,或者某些休眠设置是否导致了这种烦人的行为?