在前面的示例中,我们发现消费者每次只能消费一条消息。当队列中有多条消息的时候,我们需要多次运行消费者,才能消费完这些消息。很麻烦!!!!如何解决这个问题呢?那就是使用ActiveMQ监听器来监听队列,持续消费消息。
配置步骤说明
创建一个监听器对象。
修改消费者代码,加载监听器。
第一步:创建监听器MyListener类
说明:自定义监听器需要实现MessageListener接口
package cn.activemq.mq.listener;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
public class MyListener implements MessageListener{
@Override
public void onMessage(Message message) {
if(null!=message){
TextMessage tMsg = (TextMessage) message;
try {
System.out.println("从MQ中获取的消息是:"+tMsg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}