Posted on 2009-10-30 14:19
Robin 閱讀(257)
評(píng)論(0) 編輯 收藏
消息的消費(fèi)者接收消息可以采用兩種方式:
1、consumer.receive() 或 consumer.receive(int timeout);
2、注冊(cè)一個(gè)MessageListener。
采用第一種方式,消息的接收者會(huì)一直等待下去,直到有消息到達(dá),或者超時(shí)。后一種方式會(huì)注冊(cè)一個(gè)監(jiān)聽器,當(dāng)有消息到達(dá)的時(shí)候,會(huì)回調(diào)它的onMessage()方法。下面舉例說明:
MessageConsumer comsumer = session.createConsumer(queue);
comsumer.setMessageListener(new MessageListener(){
@Override
public void onMessage(Message m) {
TextMessage textMsg = (TextMessage) m;
try {
System.out.println(textMsg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});