我在EJB 3.0
创建了一个计时器,
weblogic 10.3
,
并且当在超时方法期间发生异常时,此方法再次执行几次,异常一直发生。我该如何禁用此功能?
答案 0 :(得分:2)
当RuntimeException通过EJB调用传播回来时,当前事务被标记为回滚。
EJB计时器是事务性的,因此从计时器方法或计时器方法本身的EJB调用抛出的任何RuntimeException都将导致回滚。
因此,为了防止计时器机器重试计时器,必须通过在任何EJB调用或计时器方法本身抛出之前捕获所述RuntimeExceptions来防止调用链中的任何回滚。
消息驱动的bean FWIW中存在同样的问题。