ActiveMQ消費者消費消息(點對點模式)

上篇博客寫了生產者生產消息:ActiveMQ向消息隊列存入消息

package com.vhukze.consumer;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

public class Consumer {
    //mq通訊地址
    private static String url = "tcp://127.0.0.1:61616";

    //隊列名稱
    private static String queueName = "my_queue";

    public static void main(String[] args) throws JMSException {

        System.out.println("消費者1");
        //創建連接工廠
        ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(url);
        //創建連接
        Connection connection = factory.createConnection();
        //啓動連接
        connection.start();
        //創建會話,參數1,設置是否需要事務方式提交,參數2,消息方式  默認採用自動接收
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        //創建目標(隊列)
        Queue queue = session.createQueue(queueName);
        //創建消費者
        MessageConsumer consumer = session.createConsumer(queue);
        //啓動監聽消息
        consumer.setMessageListener(new MessageListener() {
            @Override
            public void onMessage(Message message) {
                try {
                    TextMessage textMessage = (TextMessage) message;
                    System.out.println("消費消息:"+textMessage.getText());
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        });
    }
}

運行代碼輸出

現在再來看ActiveMQAdmin頁面查看

我們可以啓動兩次消費者,就是一個集羣。

然後再運行生產者代碼,觀察兩個消費者的控制檯

均攤

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章