我的應用程序已鎖定數據庫表,因爲JTA沒有用回滾或提交命令完成您的操作。JTA使用weblogic的事務無法按預期工作
該應用程序運行在具有兩臺受管服務器的羣集中的weblogic 10.3上。
對數據庫進行訪問的方法是同步的,其中方法內部的第一部分執行查詢,第二部分調用另一個方法執行合併。此方法具有註釋@Transaction(只讀= false)。
JTA事務由weblogic執行。
我的問題是,根據描述的情況,可能會在數據庫中生成一個鎖?
我的應用程序已鎖定數據庫表,因爲JTA沒有用回滾或提交命令完成您的操作。JTA使用weblogic的事務無法按預期工作
該應用程序運行在具有兩臺受管服務器的羣集中的weblogic 10.3上。
對數據庫進行訪問的方法是同步的,其中方法內部的第一部分執行查詢,第二部分調用另一個方法執行合併。此方法具有註釋@Transaction(只讀= false)。
JTA事務由weblogic執行。
我的問題是,根據描述的情況,可能會在數據庫中生成一個鎖?
在我看來,一個線程問題,其中鎖沒有獲得。
與數據庫訪問的方法syncronized其中方法的內側的第一部分 執行查詢,而第二個呼叫的另一個 方法來執行合併。
檢查兩個方法是否需要兩個不同的鎖,如果是,則會導致死鎖,如果method1中的線程持續等待鎖來訪問method2。
您是否通過JPA在EJB上訪問數據庫?你的意思是「數據庫訪問的方法是同步的」,所以方法是這樣的。像「公共同步無效myMethod()」? – Korgen