亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

activemq的broker怎么實現

發布時間:2022-10-23 19:03:32 來源:億速云 閱讀:217 作者:iii 欄目:開發技術

這篇文章主要介紹“activemq的broker怎么實現”,在日常操作中,相信很多人在activemq的broker怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”activemq的broker怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

broker:

 broker 相當于 activemq服務的一個實例,他可以嵌入在Java程序里面。也就是說,Linux端的activemq可以不用啟動,啟動Java程序端的broker,消費者和生產者訪問當前的broker即可,即brokerUrl ip改為localhost即可。開發使用還是常用Linux端的activemq服務。

broker代碼實現:

這里使用的while(true)的死循環,保持broker一直啟動;

1 public class TestActiveMqBroker {
 2     public static void main(String[] args) throws Exception {
 3         // ActiveMQ也支持在vm中通信基于嵌入的broker
 4         BrokerService brokerService = new BrokerService();
 5         brokerService.setPopulateJMSXUserID(true);
 6         brokerService.addConnector("tcp://localhost:61616");
 7         brokerService.start();
 8         while (true) {
 9 
10         }
11     }
12

消費者&生產者代碼示例:

地址需要改成localhost;

ACTIVEMQ_URL = "tcp://localhost:61616";

消費者:

1 package org.muses.ssm.utils;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.jms.Connection;
 6 import javax.jms.JMSException;
 7 import javax.jms.Message;
 8 import javax.jms.MessageConsumer;
 9 import javax.jms.MessageListener;
10 import javax.jms.Queue;
11 import javax.jms.Session;
12 import javax.jms.TextMessage;
13 
14 import org.apache.activemq.ActiveMQConnectionFactory;
15 
16 public class TestActiveMqConsumer {
17     private static final String ACTIVEMQ_URL = "tcp://localhost:61616";
18     private static final String QUEUE_NAME = "queue_01";
19 
20     public static void main(String[] args) throws JMSException, IOException {
21         // 創建連接工廠,按照給定的URL,采用默認用戶名密碼
22         ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
23         // 通過連接工廠 獲取connection 并啟動訪問
24         Connection conn = activeMQConnectionFactory.createConnection();
25         conn.start();
26         // 創建session會話
27         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
28         // 創建目的地 (具體是隊列還是主題topic)
29         Queue queue = session.createQueue(QUEUE_NAME);
30 
31         // 創建消息的生產者
32         MessageConsumer messageConsumer = session.createConsumer(queue);
33 
34         System.out.println("****我是3號消費者******");
35         messageConsumer.setMessageListener(new MessageListener() {
36 
37             @Override
38             public void onMessage(Message message) {
39                 if (message != null && message instanceof TextMessage) {
40                     TextMessage textMessage = (TextMessage) message;
41                     try {
42                         System.out.println("收到消息:" + textMessage.getText());
43                     } catch (JMSException e) {
44                         // TODO Auto-generated catch block
45                         e.printStackTrace();
46                     }
47                 }
48             }
49 
50         });
51         System.in.read();
52 
53         messageConsumer.close();
54         session.close();
55         conn.close();
56 
57     }
58 
59

View Code

生產者:

activemq的broker怎么實現

activemq的broker怎么實現

1 package org.muses.ssm.utils;
 2 
 3 import javax.jms.Connection;
 4 import javax.jms.JMSException;
 5 import javax.jms.MessageProducer;
 6 import javax.jms.Queue;
 7 import javax.jms.Session;
 8 import javax.jms.TextMessage;
 9 
10 import org.apache.activemq.ActiveMQConnectionFactory;
11 
12 public class TestActiveMqProducer {
13     private static final String ACTIVEMQ_URL = "tcp://localhost:61616";
14     private static final String QUEUE_NAME = "queue_01";
15 
16     public static void main(String[] args) throws JMSException {
17         // 創建連接工廠,按照給定的URL,采用默認用戶名密碼
18         ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
19         // 通過連接工廠 獲取connection 并啟動訪問
20         Connection conn = activeMQConnectionFactory.createConnection();
21         conn.start();
22         // 創建session會話
23         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
24         // 創建目的地 (具體是隊列還是主題topic)
25         Queue queue = session.createQueue(QUEUE_NAME);
26 
27         // 創建消息的生產者
28         MessageProducer messageProducer = session.createProducer(queue);
29 
30         for (int i = 0; i < 3; i++) {
31             // 創建消息;可以理解為學生按照要求寫好問題
32             TextMessage textMessage = session.createTextMessage("mession-------" + i);
33             // 通過messageProducer 發送給mq
34             messageProducer.send(textMessage);
35         }
36         messageProducer.close();
37         session.close();
38         conn.close();
39         System.out.println("發送消息成功");
40     }
41 
42

View Code

生產者發送3條消息,消費者消費3條消息,和啟動Linux的activemq 服務效果相同;

引入的jar包:

1     <dependency>
 2             <groupId>org.apache.activemq</groupId>
 3             <artifactId>activemq-all</artifactId>
 4             <version>5.16.5</version>
 5         </dependency>
 6         <dependency>
 7             <groupId>org.apache.xbean</groupId>
 8             <artifactId>xbean-spring</artifactId>
 9             <version>4.21</version>
10         </dependency>
11         <!-- activemq broker需要的依賴 -->
12          <dependency>
13           <groupId>com.fasterxml.jackson.core</groupId>
14           <artifactId>jackson-databind</artifactId>
15           <version>2.13.3</version>
16         </dependency>

到此,關于“activemq的broker怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

得荣县| 佛冈县| 呼和浩特市| 平顺县| 美姑县| 金寨县| 长乐市| 嵊泗县| 民和| 额济纳旗| 黄大仙区| 玉林市| 香格里拉县| 库尔勒市| 沅陵县| 彭水| 莆田市| 博白县| 阳泉市| 东平县| 定结县| 涟水县| 嘉祥县| 奈曼旗| 连云港市| 崇义县| 福清市| 梁山县| 诏安县| 宜都市| 紫金县| 灵宝市| 木兰县| 临西县| 临洮县| 息烽县| 郯城县| 阿鲁科尔沁旗| 北流市| 锡林郭勒盟| 大化|