0

从ejb生命周期来看,我认为当一个ejb超时时,会调用ejbRemove方法。如果我错了,请纠正我。

无论如何,如果不是这样,如何知道 ejb 已超时。

我正在使用 JBOSS 5.1 GA。

但实际上 ejb 超时时没有调用 ejbRemove,所以我无法捕获 ejb 超时事件,请帮助我以某种方式捕获此事件。

顺便说一下与事务超时有关的ejb超时,我认为不是,但不确定。

注意:我可以从 <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy< /缓存策略>标签

4

1 回答 1

0

根据 EJB 规范,调用者可以通过调用对象上的方法然后捕获生成的异常来确定对象是否超时:

  • java.rmi.NoSuchObjectException - EJBObject/EJBHome,或@Remote扩展 java.rmi.Remote 的接口
  • javax.ejb.NoSuchLocalObjectException - EJBLocalObject/EJBLocalHome
  • javax.ejb.NoSuchEJBException -@Local@Remote业务接口未扩展 java.rmi.Remote
于 2012-10-24T21:14:35.860 回答