0
我试图在MDB收到消息时生成并处理一个事件。下面是我在做什么:消息驱动Bean中的事件不起作用
public class MDBBooks implements MessageListener {
@Inject
private Event<Update> messageReceived;
public MDBLibri() {
}
@Override
public void onMessage(Message message) {
System.out.println("Message received");
try {
Update u = message.getBody(Update.class);
messageReceived.fire(u);
if(u != null){
... stuff
}
} catch (JMSException ex) {
System.out.println("JMSException: " + ex.getMessage());
}
}
public void eventHandler(@Observes Update up) {
System.out.println("There was an update");
}
}
但它只是不工作,字符串“有更新”这不是在GlassFish控制台打印。我无法确切地说出问题所在,我的教科书几乎以相同的方式进行。我假设事件触发正常,但事件处理程序没有通知。
有一个在[其它不相关的问题(http://stackoverflow.com/questions/43111276/observable-pattern-in-remote-ejb/43120204#43120204) –
好了类似的回答(根据实施).. OP在这里需要的整个“实现”是将观察者方法移到不同的类。 – Siliarus
的确,我的评论仅仅是为了让OP看到(我可能会更好地表达它)。你的回答是非常正确的,我已经投票相应 –