1
TransactionRequiredException的可能原因是什麼?javax.persistence.TransactionRequiredException的可能原因
javax.ejb.EJBTransactionRolledbackException: JBAS011469:
Transaction is required to perform this operation
(either use a transaction or extended persistence context)
我們在JNDI接口,我們對應用程序容器運行從一個正常的JVM測試的設置(JBoss的7)。我們有一個每晚都會運行這個代碼的夜間構建,它通常會成功。然而,有時在執行一段時間後,所有測試開始失敗,出現上述異常而沒有任何代碼更改。任何外部問題都可以導致這一點我們有磁盤空間,並且由於異常通過網絡傳遞,我認爲網絡也很好。可以在任何下列原因的例外是這樣的:
- 文件描述符缺乏
- 休眠有出的內存談話的數據庫(MySQL的)
- CPU負載
- 問題
很抱歉,如果問題有點抽象,但我無法理解這個問題。所有解決方案和調試建議都受到歡迎。
的交易不只是隨機消失。我會懷疑這是與數據庫的連接有點負責任,但我會期待一種不同類型的錯誤(連接失敗,更確切地說)。在這裏你不會得到例外的事實讓我感到困惑。 – Gimby
你能提供更多關於測試的信息嗎?你有很多從客戶端到服務器的客戶端事務嗎?服務器是否插入/修改數據庫中的記錄? SFSB,SLSB?目前我還會在數據庫連接上下注我的錢,因爲它是一個「隨機」(又名「一段時間後的問題」),我將重點放在實體管理器上,也許嘗試在每次請求後刷新和重置,以看看你能否提前解決問題。 –
所有會話bean都是無狀態的。是的,我們做了很多交易。我們有大約500個測試,其中大部分都運行了很多交易。我會更多地關注數據庫,感謝您的建議。 – toftis