我试图实现MessageListener,但它不起作用,但是当我使用MessageListner时,它不起作用。那么我应该怎么做MessageListener开始工作,我正在使用jboss 4.02。
recv.receive(); // This works
recv.setMessageListener(new ExListener()); // This doesn't work
public static class ExListener
implements MessageListener
{
public void onMessage(Message msg)
{
TextMessage tm = (TextMessage) msg;
try {
System.out.println("onMessage, recv text="+tm.getText());
} catch(Throwable t) {
t.printStackTrace();
}
}
}
答案 0 :(得分:3)
你还记得调用connection.start()吗?我想你必须有这个让receive()方法起作用,但是你可能在更改代码时意外删除了它。
答案 1 :(得分:1)
这可以通过使用消息驱动的bean在Jboss服务器上实现,这可能是最好的方法。当然,更轻量级的选项是通过实现MessageListener http://bit.ly/epVSmS <在Spring中创建jmsListener / p>
答案 2 :(得分:0)
问题可能是注册侦听器的类已经结束,并且侦听器对象不存在。您应该保持对象的实时运行以接收消息。