我有两个 SLSB:
BeanF
,BeanO
在两个 ejb-jar 中:
ModF
,ModO
.
BeanF
触发一个事件并BeanO
观察它。
第一个fire(-)
操作以异常结束(Wildfly 8.2):
错误 [org.jboss.as.ejb3.invocation] JBAS014134:组件 BeanF 上的 EJB 调用失败,用于方法 public void BeanF.publish(ModEvent):
javax.ejb.EJBException:org.jboss.msc.service.ServiceNotFoundException:服务服务
jboss .deployment.subunit."myapp.ear"."modO.jar".component.BeanO.VIEW."BeanO".LOCAL 未找到
进一步fire(-)
的操作到达观察者,但我不能让任何事件丢失。
有没有办法在事件被触发之前强制初始化观察者(或者在事件被触发并等待处理之后)?
@Observes(notifyObserver = Reception.IF_EXISTS)
唯一允许在观察者尚未准备好时静默跳过事件。
在我的情况下,BeanF
不能依赖,BeanO
因为ModO
必须ModF
在application.xml
.
是否可以使用 CDI 事件/侦听器,或者我需要使用 JMS?