CDI イベントで少し苦労しています。次のようなCDIシングルトンとして実装されたクラスがあります。
import import javax.inject.Singleton;
@Singleton
public class MyClass{
@Inject
Event<StatusUpdateEvent> events;
public MyClass(){};
public void myMethod(){
events.fire(new StatusUpdateEvent());
}
}
次に、コンシューマー クラスを EJB シングルトンとして実装します。
import javax.ejb.Singleton;
@Singleton
public class MyObserver(){
public MyObserver(){};
public onStatusUpdateEvent(@Observes StatusUpdateEvent event){
...do something...
}
}
問題は、myMethod
が呼び出されたときに、myObserver からイベントが受信されないことです。
MyClass
私のEARプロジェクトのライブラリjarに含まれており(jarにはbeans.xmlがあります)MyObserver
、同じEARのEJBです。
私は何を間違っていますか?助けてくれてどうもありがとう!