2013-03-18 86 views
0

首先,我不太瞭解EJB的知識,只是試圖瞭解這裏發生了什麼。當客戶端出現故障時,EJB客戶端遇到問題

我有一個通過EJB接口調用後端的服務。如果後端出現故障,則服務在後端關閉時開始拋出以下異常,然後在服務器恢復後,它會在第二天偶爾出現。但是,它是間歇性的。不是所有事情都能正常工作,但偶爾我們會得到下面的錯誤。這就好像我們有一些到後端的ejb連接,當後端出現故障時會變得混亂,有些則不會。

(改變,因爲它們是針對我的項目方法/接口名稱)

Remote EJB method: someMethod called on interface: com.someInterface failed. 
Cause: java.rmi.NoSuchObjectException: The object identified by: '301' could not be found. 
Either it was has not been exported or it has been collected by the distributed garbage collector. 

我假設當後端下降,EJB的連接不再有效,它只是需要一些時間來清除那個糟糕的連接?

任何建議,想法?希望有助於理解發生了什麼更好。

回答

0

消息很清楚。您用來與EJB交談的存根已過時,即它指的是不再存在的對象,無論是通過DGC,故意未導出還是整個服務器重新啓動。這裏的緩解措施是通過任何方式重新獲取存根,然後重試一次。