在上一节中,我们说到,使用receive方法来接收生产者消息的时候,只会运行一次,然后就会被阻塞,除非我们加个while(true),一直不停的轮询。今天就说说如何采用消息监听机制,来实现及时的收取消息。
消息监听器:MessageListener
JMS给我们提供了一个消息监听器的接口,只要我们实现了这个接口,就可以实现对消息的及时监听。实现代码如下:
public class ConsumerReceive implements MessageListener {
@Override
public void onMessage(Message message) {
try {
if(message instanceof TextMessage){
String receiveMessage = ((TextMessage) message).getText();
System.out.println("消费者收到的消息为:"+receiveMessage);
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
onMessage
方法只接受一个
Message
对