日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ActiveMQ的使用

發布時間:2025/4/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ActiveMQ的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ActiveMQ使用分為兩大塊:生產者和消費者 一、準備 項目導入jar包:activemq-all-5.15.3.jar 并buildpath? 二、生產者
  • 創建連接工廠
  • ActiveMQConnectionFactory mqf = new ActiveMQConnectionFactory(userName, password, brokerURL); 注: userName是ActiveMQ的用戶名,默認可以通過:ActiveMQConnection.DEFAULT_USER password是ActiveMQ的密碼,默認可以通過: ActiveMQConnection.DEFAULT_PASSWORD brokerURL是ActiveMQ的連接,指定格式為:tcp://主機名:61616
  • 獲取連接
  • connection = mqf.createConnection();
  • 生成會話
  • Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  • 生成對應的topic
  • Destination destination = session.createTopic("mytopic");
  • 創建生產者
  • MessageProducer producer = session.createProducer(destination);
  • 設置發送消息使用的模式
  • producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); 默認是:DeliveryMode.PERSISTENT
  • 生成消息
  • TextMessage msg = session.createTextMessage(“message");
  • 啟動連接
  • connection.start();
  • 發送消息
  • producer.send(msg);
  • 關閉生產者
  • producer.close();
  • 關閉會話
  • session.close();
  • 關閉連接
  • connection.close(); 三、消費者
  • 繼承接口
  • MessageListener ExceptionListener 并實現onException(JMSException exception)和onMessage(Message message)方法
  • 創建連接工廠
  • ActiveMQConnectionFactory mqf = new ActiveMQConnectionFactory(userName, password, brokerURL); 具體參數同上
  • 獲取連接
  • Connection connection = mqf.createConnection();
  • 生成會話
  • Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  • 生成對應的topic
  • Destination destination = session.createTopic("mytopic”);
  • 創建消費者
  • MessageConsumer consumer = session.createConsumer(destination);
  • 啟動連接
  • connection.start();
  • 設置消息監聽
  • consumer.setMessageListener(this);
  • 設置異常監聽
  • connection.setExceptionListener(this);
  • 實現onMessage方法
  • 改方法有一個參數Message message,這個參數是從ActiveMQ上拿到的消息,可以通過如下方法解析出來: TextMessage tm = (TextMessage)message; String result = tm.getText();
  • 關閉消費者
  • consumer.close();
  • 關閉會話
  • session.close();
  • 關閉連接
  • connection.close(); 四、例程
  • 生產者實現程序
  • 1 package activemq_test; 2 3 import javax.jms.Connection; 4 import javax.jms.DeliveryMode; 5 import javax.jms.Destination; 6 import javax.jms.JMSException; 7 import javax.jms.MessageProducer; 8 import javax.jms.Session; 9 import javax.jms.TextMessage; 10 11 import org.apache.activemq.ActiveMQConnection; 12 import org.apache.activemq.ActiveMQConnectionFactory; 13 14 public class Producer_tool { 15 16 private final static String userName = ActiveMQConnection.DEFAULT_USER; 17 private final static String password = ActiveMQConnection.DEFAULT_PASSWORD; 18 private final static String brokerURL = "tcp://192.168.0.5:61616"; 19 private MessageProducer producer = null; 20 private Connection connection = null; 21 private Session session = null; 22 23 public void initialize() throws JMSException { 24 ActiveMQConnectionFactory mqf = new ActiveMQConnectionFactory(userName, password, brokerURL); 25 connection = mqf.createConnection(); 26 session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 27 Destination destination = session.createTopic("mytopic"); 28 producer = session.createProducer(destination); 29 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); 30 } 31 32 public void send(String message) throws JMSException { 33 initialize(); 34 TextMessage msg = session.createTextMessage(message); 35 System.out.println("sending message: " + message); 36 connection.start(); 37 producer.send(msg); 38 } 39 40 public void close() throws JMSException { 41 if(producer != null) { 42 producer.close(); 43 } 44 if(session != null) { 45 session.close(); 46 } 47 if(connection != null) { 48 connection.close(); 49 } 50 System.out.println("closed"); 51 } 52 53 }

    ?

  • 生產者主程序
  • 1 package activemq_test; 2 import javax.jms.JMSException; 3 public class Producer_test { 4 public static void main(String[] args) throws JMSException { 5 Producer_tool producer = null; 6 for(int i = 0; i < 10; i++) { 7 producer = new Producer_tool(); 8 producer.send("message" + i); 9 producer.close(); 10 } 11 } 12 }
  • 消費者實現程序
  • 1 package activemq_test; 2 3 import javax.jms.Connection; 4 import javax.jms.Destination; 5 import javax.jms.ExceptionListener; 6 import javax.jms.JMSException; 7 import javax.jms.Message; 8 import javax.jms.MessageConsumer; 9 import javax.jms.MessageListener; 10 import javax.jms.Session; 11 import javax.jms.TextMessage; 12 13 import org.apache.activemq.ActiveMQConnection; 14 import org.apache.activemq.ActiveMQConnectionFactory; 15 16 public class Consumer_tool implements MessageListener,ExceptionListener{ 17 18 private final static String userName = ActiveMQConnection.DEFAULT_USER; 19 private final static String password = ActiveMQConnection.DEFAULT_PASSWORD; 20 private final static String brokerURL = "tcp://192.168.0.5:61616"; 21 private Connection connection = null; 22 private Session session = null; 23 private MessageConsumer consumer = null; 24 static boolean isConnection = false; 25 26 public void initialize() throws JMSException { 27 ActiveMQConnectionFactory mqf = new ActiveMQConnectionFactory(userName, password, brokerURL); 28 connection = mqf.createConnection(); 29 session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 30 Destination destination = session.createTopic("mytopic"); 31 consumer = session.createConsumer(destination); 32 } 33 34 public void consumeMessage() throws JMSException { 35 initialize(); 36 connection.start(); 37 consumer.setMessageListener(this); 38 connection.setExceptionListener(this); 39 isConnection = true; 40 System.out.println("consumer is listening"); 41 42 } 43 44 @Override 45 public void onException(JMSException exception) { 46 isConnection = false; 47 } 48 49 @Override 50 public void onMessage(Message message) { 51 if(message instanceof TextMessage) { 52 TextMessage tm = (TextMessage)message; 53 try { 54 System.out.println("consumer received " + tm.getText()); 55 } catch (JMSException e) { 56 e.printStackTrace(); 57 } 58 } 59 else { 60 System.out.println(message); 61 } 62 } 63 64 public void close() throws JMSException { 65 if(consumer != null) { 66 consumer.close(); 67 } 68 if(session != null) { 69 session.close(); 70 } 71 if(connection != null) { 72 connection.close(); 73 } 74 System.out.println("consumer has closed"); 75 } 76 }
  • 消費者主程序
  • 1 package activemq_test; 2 import javax.jms.JMSException; 3 public class Consumer_test { 4 public static void main(String[] args) throws JMSException { 5 Consumer_tool consumer = new Consumer_tool(); 6 consumer.consumeMessage(); 7 while(Consumer_tool.isConnection) { 8 9 } 10 consumer.close(); 11 } 12 }

    轉載于:https://www.cnblogs.com/xiatianyu/p/9055647.html

    總結

    以上是生活随笔為你收集整理的ActiveMQ的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美影音 | 免费不卡的av | 夜夜嗨一区 | 亚洲制服丝袜在线播放 | 涩涩五月天 | 日韩欧美aaa| 天海翼av | 污视频免费在线观看网站 | 逼特逼视频在线观看 | 波多野结衣一二三四区 | 国产亚洲精品久久久久久无几年桃 | 中文字幕一区二区人妻在线不卡 | 在线国产三级 | 国产亚洲精品久久久久久 | 国产精品久久一区 | 国产a精品 | 国产大学生自拍视频 | 在线观看三区 | 999久久久精品视频 亚洲视频精品在线 | 成人手机在线免费视频 | 私人影院毛片 | 草在线视频 | 国产专区在线 | 欧美日本在线播放 | 国产成人精品一区二三区四区五区 | 中国美女毛片 | 911亚洲精选 | av爱爱| 特黄特色大片免费 | 爱av导航 | 国产精品一区二区毛片 | 国产午夜免费视频 | 青草伊人网 | 强侵犯の奶水授乳羞羞漫虐 | 激情二区 | 3级av| 奇米影视播放器 | 日本久久一区二区 | 亚洲精品视频一区二区 | 韩国美女福利视频 | 在线一区不卡 | 在线亚洲精品 | 插久久| 99精品久久久久久久婷婷 | 亚洲天堂精品在线观看 | 国产美女被遭强高潮免费网站 | 亚洲国产视频一区二区 | 波多野结衣电车痴汉 | av观看免费 | 亚洲 在线 | 色www| 国产裸体美女永久免费无遮挡 | avtt男人天堂 | 最近中文字幕免费 | 国产精品最新 | 一二三区在线视频 | 久久久7777| 亚州精品视频 | 激情片网站 | 91精品视频一区 | 日本aa视频| 欧美啊v | 香蕉一区二区三区四区 | 亚洲国产精品一 | 国产成人av一区 | 日韩黄色视屏 | 国产一区二区网址 | 在线 日本 制服 中文 欧美 | 国产精品一区二区三区免费视频 | 日本高清在线观看 | 日韩欧美一区二区三区四区 | 男女做受视频 | 两个小y头稚嫩紧窄h文 | 我要操婊 | 久久我不卡| 国产区视频在线 | av大帝| 亚欧色视频 | 天天操天天做 | 亚洲24p | 亚洲国产精品999 | a级在线视频 | 1区2区3区在线观看 久久久久久久久久久影院 成人网址在线观看 | 免费成人美女女电影 | 男男车车的车车网站w98免费 | 久久精品网 | 欧美xxx在线观看 | 福利小视频在线播放 | 中文字幕免费观看 | www狠狠| 国语精品| 欧美黄页网站 | 高h放荡受浪受bl | 麻豆av一区二区三区在线观看 | 精品乱码一区二区三四区视频 | av中文字幕在线免费观看 | 老女人综合网 | 色老汉视频 | 91在线观看免费高清完整版在线观看 |