2013-03-18 88 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,故意未导出还是整个服务器重新启动。这里的缓解措施是通过任何方式重新获取存根,然后重试一次。