大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

JMS&ActiveMQ教程
基于JMS的消息傳送
ActiveMQ與Spring集成
ActiveMQ與SpringBoot集成
ActiveMQ安全機制
ActiveMQ主從集群

ActiveMQ發布與訂閱示例

發布訂閱和點對點的代碼基本相同,只是修改一下目的地,myQueue改為myTopic,以及在創建目的地的時候,將createQueue改為createTopic。

1、在com.bjpowernode.activemq.send包下編寫一個消息發布者TopicPublisher發送消息

package com.bjpowernode.activemq.send;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class TopicPublisher {
    public static final String BROKER_URL = "tcp://192.168.235.128:61616";
    //相當于一個數據庫
    public static final String DESTINATION = "myTopic";
    public static void main(String[] args) {
        sendMessage();
    }
    public static void sendMessage(){
        //1 .創建一個連接工廠
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(BROKER_URL);
        Connection connection = null;
        Session session = null;
        MessageProducer messageProducer = null;
        try {
            //2. 獲取一個連接
            connection = connectionFactory.createConnection();
            //3. 創建一個Session 第一個參數:是否是事務消息 第二個參數:消息確認機制(自動確認還是手動確認)
            session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
            //4. 有了session之后,就可以創建消息,目的地,生產者和消費者
            Message message = session.createTextMessage("Hello ActiveMQ");
            //目的地
            Destination destination = session.createTopic(DESTINATION);
            //生產者
            messageProducer = session.createProducer(destination);
            //發消息 沒有返回值,是非阻塞的
            messageProducer.send(message);
        } catch (JMSException e) {
            e.printStackTrace();
        }finally{
            try {
                if(messageProducer != null){
                    messageProducer.close();
                }
                if(session != null){
                    session.close();
                }
                if(connection != null){
                    connection.close();
                }
            }catch (JMSException e) {
                e.printStackTrace();
            }
        }
    }
}

2、在com.bjpowernode.activemq.receive包下編寫一個消息訂閱者TopicSubcriber接收消息

package com.bjpowernode.activemq.receive;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;
public class TopicSubcriber {
    public static final String BROKER_URL = "tcp://192.168.235.128:61616";
    //相當于一個數據庫(其實是一個隊列)
    public static final String DESTINATION = "myTopic";
    public static void main(String[] args) {
        receiveMessage();
    }
    public static void receiveMessage(){
        //1 .創建一個連接工廠
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(BROKER_URL);
        Connection connection = null;
        Session session = null;
        MessageConsumer messageConsumer = null;
        try {
            //2. 獲取一個連接
            connection = connectionFactory.createConnection();
            //接收消息,需要將連接啟動一下,才可以接收到消息
            connection.start();
            //3. 創建一個Session 第一個參數:是否是事務消息 第二個參數:消息確認機制(自動確認還是手動確認)
            session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
            //4. 有了session之后,就可以創建消息,目的地,生產者和消費者
            //目的地
            Destination destination = session.createTopic(DESTINATION);
            //消費者
            messageConsumer = session.createConsumer(destination);
            //循環接收消息
            while (true){
                //接收消息 有返回值,是阻塞的
                Message message = messageConsumer.receive();
                //判斷消息類型
                if(message instanceof TextMessage){
                    String text = ((TextMessage) message).getText();
                    System.out.println(text);
                }
            }
        } catch (JMSException e) {
            e.printStackTrace();
        }finally{
            try {
                if(messageConsumer != null){
                    messageConsumer.close();
                }
                if(session != null){
                    session.close();
                }
                if(connection != null){
                    connection.close();
                }
            }catch (JMSException e) {
                e.printStackTrace();
            }
        }
    }
}

3、消息訂閱者先運行,然后再運行消息發布者

全部教程
主站蜘蛛池模板: 日韩色视频一区二区三区亚洲 | 国产不卡免费视频 | 国产一区二区亚洲精品天堂 | 日日干天天 | 97视频精品| 免费av一区二区三区 | 亚洲香蕉在线视频 | 欧美日韩免费在线视频 | 色综合久久中文 | 九九影院理论片 | 国产一区日韩二区欧美三 | 香蕉视频在线网站 | a毛片在线 | 成 人 黄 色 大 片 | 亚洲 欧美 日韩 在线 香蕉 | 亚洲欧美日韩高清在线看 | 亚洲综合一区二区三区 | 香蕉爱爱视频 | 色综合天天综合网国产国产人 | 国产激情一区二区三区在线观看 | 欧美猛妇色xxxxxbbbb | 日日摸夜夜添夜夜添一区二区 | 成人国产一区二区三区 | 精品国产欧美一区二区 | 日韩香蕉网 | 久久国产精品最新一区 | 日韩在线视频免费播放 | 最新四虎4hu影库地址在线 | 欧美九九视频 | 美国一级毛片片aa久久综合 | 奇米狠狠 | 色综合亚洲七七久久桃花影院 | 成人欧美一区二区三区视频不卡 | 欧美伊人久久大香线蕉综合69 | 全毛片| 91久久线看在观草草青青 | 国产精品自拍亚洲 | 伊人爱爱网 | 欧美午夜精品一区二区三区 | 国产综合精品久久久久成人影 | 成年女人视频在线观看免费 |