當從Hibernate發佈時,在Glassfish實例上運行SQL Server 2008上的連接時,我們遇到了一些問題'stuck'
。SQL Server 2008上的JDBC,Hibernate和隱式事務
偶爾會有10或20個調用存儲過程,全部是'sleeping'
,並且持有一些事務處理。
當我使用DBCC INPUTBUFFER
,以瞭解更多關於他們,它具有:
名稱:IMPLICIT_TRANSACTION
這是否意味着在Java應用程序中,設置'SET IMPLICIT_TRANSACTIONS ON'
作爲批次的一部分嗎?我能夠重新標識事務名稱DB側的唯一方法就是使用該語法。
似乎Java應用程序掛在連接上,但不知何故失去了調用本身的上下文,因此它永遠不會回來提交事務。
java開發人員說,他們沒有明確定義任何連接,並且不打算他們故意設置任何其他連接屬性。這些調用都是在READ COMMITTED隔離級別下進行的。
怎樣才能知道是否有一些隱藏的屬性設置,或者如果一些休眠設置導致這種惱人的行爲?