我在部署包含一個有狀態會話Bean的Java Web應用程序時遇到問題。一切正常,直到我嘗試調用這個bean。我得到一個異常:有狀態會話bean在生產中不起作用 - NoSuchObjectLocalException
javax.ejb.NoSuchObjectLocalException: The EJB does not exist. session-key: 1f0090bf8a25c4d1-6500a82656529888-2
我試圖谷歌,而且我發現,這個異常意味着,有狀態會話bean與相應的會話密鑰不存在,或者出於某種原因被破壞。然而在我的本地主機一切正常。
根據網上的一些文章,可能會導致一些數據庫錯誤導致會話bean被破壞。我在MySQL錯誤日誌中找不到任何東西。其他STATELESS會話bean可以正常工作,並且可以在數據庫上運行而不會出現任何問
我被困在這裏,不知道該怎麼嘗試。你有什麼想法可能是錯的?有沒有必要在JDBC連接池或資源中設置來管理會話bean的工作?
更新: 我相信從日誌中這些錯誤消息解釋錯誤以某種方式:
[#|2013-05-09T18:32:31.386+0000|INFO|glassfish3.1.2|org.shoal.ha.cache.command.load_request|_ThreadID=27;_ThreadName=Thread-2;|Skipped Loading of 1f0090bf8a25c4d1-6500a8265c5d6306-c since there is only one instance running in the cluster.|#]
[#|2013-05-09T18:32:31.386+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers.util.cache|_ThreadID=27;_ThreadName=Thread-2;|NRU-cz.compoundsearch.resources.SimilarityResource: Cannot load from BACKUPSTORE FOR Key: <1f0090bf8a25c4d1-6500a8265c5d6306-c>|#]
[#|2013-05-09T18:32:31.387+0000|WARNING|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=27;_ThreadName=Thread-2;|EJB5184:A system exception occurred during an invocation on EJB SimilarityResource, method: public java.util.List cz.compoundsearch.resources.SimilarityResource.returnResults(java.lang.Integer,java.lang.Integer)|#]
更多日誌和ejb配置會有所幫助。 – 2013-05-09 17:20:53
我附上了整個異常堆棧,但我不知道你的意思是什麼ejb配置。 – Macejkou 2013-05-09 18:12:34