【问题标题】:Ejb (2) timed out and ejbRemove is not called, is this right? if so how to know that the ejb hss timed outejb(2)超时,没有调用ejbRemove,是这样吗?如果是,如何知道 ejb hss 超时
【发布时间】:2012-10-02 08:56:26
【问题描述】:

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

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

我正在使用 JBOSS 5.1 GA。

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

顺便说一下ejb超时和事务超时有关,我觉得不是,但不确定。

注意:我可以从 org.jboss.ejb.plugins 下的 标签中的 JBOSS 服务器文件夹内的 conf 文件夹中的 standardjboss.xml 更改 ejb 超时时间.LRUStatefulContextCachePolicy 标签

【问题讨论】:

  • 实际上在 OC4J 上:当 EJB 超时时,oracle 独立应用程序服务器会调用 ejbRemove,但这不会在 JBOSS 上发生。可能必须有一些配置什么的。请帮我解决这个 JBOSS 问题

标签: jakarta-ee jboss timeout jboss5.x ejb-2.x


【解决方案1】:

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

  • java.rmi.NoSuchObjectException - EJBObject/EJBHome,或@Remote 接口扩展 java.rmi.Remote
  • javax.ejb.NoSuchLocalObjectException - EJBLocalObject/EJBLocalHome
  • javax.ejb.NoSuchEJBException - @Local@Remote 业务接口未扩展 java.rmi.Remote

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2011-11-15
    • 1970-01-01
    相关资源
    最近更新 更多