EJB方法调用的超时



Hy,有没有一种方法可以强制EJB方法停止处理并将控制权返回给具有异常的调用者?

在我的应用程序中,我有很多对远程ejb的调用,比如:

@Stateless      
public class ClassSB implements ClassLocalISB {
@Override
public List<Object> businessMethod(String value) {
        long start = 0;
        try {
            //CALL TO EJB
            retVal = ejb.search(value);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
 }
}

现在,对于性能问题,我需要停止的执行

ejb.search(value(

如果花费的时间太长,在这种情况下,我会向调用者抛出一个应用程序异常。我知道TimerService接口允许创建一个定时器,但我不能在超时的情况下抛出异常,除此之外,EJB方法似乎还在继续处理。

Glassfish以及Weblogic和可能的其他容器都具有以下功能:

要实现同步RMI超时,请使用远程客户端超时在weblogic-ejb-jar.xml 中找到部署描述符元素

但一定要阅读有关使用RMI超时的文档和指南。

相关内容

  • 没有找到相关文章

最新更新