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看到(我可能會更好地表達它)。你的回答是非常正確的,我已經投票相應 –