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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ActiveMQ 部署及发送接收消息

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ActiveMQ 部署及发送接收消息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ActiveMQ 部署及發送接收消息

一、???????????下載

下載地址:http://activemq.apache.org/?我這里使用的版本為當前最新5.8.0。

下載版本有Windows和Linux兩個版本,且都分為32位和64位。根據自己需要選擇下載。

二、???????????安裝

我這里下載的為windows的32位版本(apache-activemq-5.8.0-bin.zip),下載后直接解壓到需要安裝的目錄或在直接解壓到當前目錄也可,解壓完安裝也完成。


解壓后目錄如上圖,里面包含了示例和文檔,及所有的jar包。

?

三、???????????運行

進入到bin目錄(apache-activemq-5.8.0\bin),雙擊activemq.bat,就會運行,運行截圖如下:



此時表示ActiveMQ已經在運行了,當然正常生產環境下可以設置作為服務在后臺運行,并且隨系統啟動而啟動。

四、???????????測試

ActiveMQ自帶了一套管理系統,訪問http://localhost:8161/admin/,會出現需要輸入用戶名和密碼的頁面如下:



默認用戶名和密碼都是admin,進入后則為主界面:



在這個界面上,我們可以管理隊列及其他的一些功能,為了下面的繼續,我們在這里創建一個Queue和一個Topic。



點擊目錄上的Queues進入創建Queue頁面,輸入Queue名稱,點擊Create后下面就創建了G2Queue的queue隊列。




這里也可以不用這樣手工創建,在發送端指定了一個Queue或Topic名字后,會自動創建一個隊列,如上面的choice.queue和FirstQueue都是我測試程序時,程序里面指定的Queue名稱,自動創建的。

同樣的方式創建一個Topic,如下:



五、???????????發送消息

創建一個新的項目,我這里是創建的webproject名稱為ActiveMQ,引入ActiveMQ的jar包,整個工程結構如下:


?

此段代碼從網上直接copy,只是稍作修改:

[java]?view plaincopy

  • import?java.util.Random;??

  • ???

  • import?javax.jms.Connection;??

  • import?javax.jms.ConnectionFactory;??

  • import?javax.jms.DeliveryMode;??

  • import?javax.jms.Destination;??

  • import?javax.jms.JMSException;??

  • import?javax.jms.MessageProducer;??

  • import?javax.jms.Session;??

  • import?javax.jms.TextMessage;??

  • ???

  • import?org.apache.activemq.ActiveMQConnectionFactory;??

  • ???

  • public?class?SendMessage?{??

  • ????private?static?final?String?url?=?"tcp://localhost:61616";??

  • ????private?static?final?String?QUEUE_NAME?=?"G2Queue";??

  • ???

  • ????public?void?sendMessage()?throwsJMSException?{??

  • ???????//?JMS?客戶端到JMSProvider?的連接??

  • ???????Connection?connection?=?null;??

  • ???????try?{??

  • ???????????//?連接工廠,JMS?用它創建連接??

  • ???????????//?構造ConnectionFactory實例對象,此處采用ActiveMq的實現jar??

  • ???????????ConnectionFactory?connectionFactory?=?newActiveMQConnectionFactory(url);??

  • ???????????connection?=?(Connection)connectionFactory.createConnection();??

  • ???????????//?啟動連接??

  • ???????????connection.start();??

  • ???????????//Session:發送或接收消息的線程??

  • ???????????//?獲取session??

  • ???????????Session?session?=?(Session)?connection.createSession(false,??

  • ??????????????????Session.AUTO_ACKNOWLEDGE);??

  • ???????????//?消息的目的地,消息發送到那個隊列??

  • ???????????Destination?destination?=?session.createQueue(QUEUE_NAME);??

  • ???????????//MessageProducer:消息發送者(生產者)??

  • ???????????//?創建消息發送者??

  • ???????????MessageProducer?producer?=session.createProducer(destination);??

  • ???????????//?設置是否持久化??

  • ???????????//DeliveryMode.NON_PERSISTENT:不持久化??

  • ???????????//DeliveryMode.PERSISTENT:持久化??

  • ???????????producer.setDeliveryMode(DeliveryMode.PERSISTENT);??

  • ????????????

  • ???????????String?msg?=?"";??

  • ???????????int?i?=?0;??

  • ????????do?{??

  • ????????????msg?=?"第"+i?+?"次發送的消息:"+new?Random();??

  • ????????????????TextMessagemessage?=?session.createTextMessage(msg);??

  • ????????????????Thread.sleep(1000);??

  • ????????????????//?發送消息到目的地方??

  • ???????????????producer.send(message);??

  • ????????????????System.out.println("發送消息:"?+msg);??

  • ????????????????i++;??

  • ????????}?while?(i<1000);??

  • ???????}?catch?(Exception?e)?{??

  • ???????????e.printStackTrace();??

  • ???????}??

  • ????}??

  • ???

  • ????public?static?void?main(String[]?args)?{??

  • ???????SendMessage?sndMsg?=?newSendMessage();??

  • ???????try?{??

  • ???????????sndMsg.sendMessage();??

  • ???????}?catch?(Exception?ex)?{??

  • ???????????System.out.println(ex.toString());??

  • ???????}??

  • ????}??

  • }??




  • 運行結果如下:

    六、???????????接收消息


    [java]?view plaincopy

  • package?cn.g2room.mq.test;??

  • ???

  • import?javax.jms.Connection;??

  • import?javax.jms.ConnectionFactory;??

  • import?javax.jms.Destination;??

  • import?javax.jms.JMSException;??

  • import?javax.jms.Message;??

  • import?javax.jms.MessageConsumer;??

  • import?javax.jms.Session;??

  • import?javax.jms.TextMessage;??

  • ???

  • import?org.apache.activemq.ActiveMQConnectionFactory;??

  • ???

  • /**?

  • ?*?消息接收類?

  • ?*?

  • ?*?@createTime:Apr?7,?2013?5:11:11?PM?

  • ?*?@author:<a?href="mailto:252909344@qq.com">迷蝶</a>?

  • ?*?@version:0.1?

  • ?*@lastVersion:?0.1?

  • ?*?@updateTime:?

  • ?*@updateAuthor:?<a?href="mailto:252909344@qq.com">迷蝶</a>?

  • ?*?@changesSum:?

  • ?*?

  • ?*/??

  • public?class?ReceiveMessage?{??

  • ?????????privatestatic?final?String?url?=?"tcp://localhost:61616";??

  • ?????????privatestatic?final?String?QUEUE_NAME?=?"G2Queue";??

  • ???

  • ?????????publicvoid?receiveMessage()?{??

  • ???????????????????Connectionconnection?=?null;??

  • ???????????????????try{??

  • ????????????????????????????try{??

  • ?????????????????????????????????????ConnectionFactoryconnectionFactory?=?new?ActiveMQConnectionFactory(??

  • ????????????????????????????????????????????????????????url);??

  • ?????????????????????????????????????connection=?connectionFactory.createConnection();??

  • ????????????????????????????}catch?(Exception?e)?{??

  • ?????????????????????????????????????System.out.println(e.toString());??

  • ????????????????????????????}??

  • ????????????????????????????connection.start();??

  • ????????????????????????????Sessionsession?=?connection.createSession(false,??

  • ???????????????????????????????????????????????Session.AUTO_ACKNOWLEDGE);??

  • ????????????????????????????Destinationdestination?=?session.createQueue(QUEUE_NAME);??

  • ????????????????????????????//消息接收者,也就是消費者??

  • ????????????????????????????MessageConsumerconsumer?=?session.createConsumer(destination);??

  • ?????????????????????????????

  • ????????????????????????????consumeMessagesAndClose(connection,session,?consumer);??

  • ???????????????????}catch?(Exception?e)?{??

  • ????????????????????????????System.out.println(e.toString());??

  • ???????????????????}??

  • ?????????}??

  • ?????????/**?

  • ??????????*?接收和關閉消息,如遇到消息內容為close則,關閉連接?

  • ??????????*?

  • ??????????*?@param?connection???JMS?客戶端到JMSProvider?的連接?

  • ??????????*?@param?session???????????????????發送或接收消息的線程?

  • ??????????*?@param?consumer??????????????消息接收對象?

  • ??????????*?@throws?JMSException?

  • ??????????*?@auther?<ahref="mailto:252909344@qq.com">迷蝶</a>?

  • ??????????*?Apr?8,?2013?10:31:55?AM?

  • ??????????*/??

  • ?????????protectedvoid?consumeMessagesAndClose(Connection?connection,??

  • ????????????????????????????Sessionsession,?MessageConsumer?consumer)?throws?JMSException?{??

  • ???????????????????do{??

  • ????????????????????????????Messagemessage?=?consumer.receive(1000);??

  • ????????????????????????????if("close".equals(message)){??

  • ?????????????????????????????????????consumer.close();??

  • ?????????????????????????????????????session.close();??

  • ?????????????????????????????????????connection.close();??

  • ????????????????????????????}??

  • ????????????????????????????if(message?!=?null)?{??

  • ?????????????????????????????????????onMessage(message);??

  • ????????????????????????????}??

  • ???????????????????}while?(true);??

  • ????????????????????

  • ?????????}??

  • ???

  • ?????????publicvoid?onMessage(Message?message)?{??

  • ???????????????????try{??

  • ????????????????????????????if(message?instanceof?TextMessage)?{??

  • ?????????????????????????????????????TextMessagetxtMsg?=?(TextMessage)?message;??

  • ?????????????????????????????????????Stringmsg?=?txtMsg.getText();??

  • ?????????????????????????????????????System.out.println("Received:"?+?msg);??

  • ????????????????????????????}??

  • ???????????????????}catch?(Exception?e)?{??

  • ????????????????????????????e.printStackTrace();??

  • ???????????????????}??

  • ???

  • ?????????}??

  • ???

  • ?????????publicstatic?void?main(String?args[])?{??

  • ???????????????????ReceiveMessagerm?=?new?ReceiveMessage();??

  • ???????????????????rm.receiveMessage();??

  • ?????????}??

  • }??




  • 運行結果如下:


    ?


    轉載于:https://blog.51cto.com/liyunhua/1696310

    總結

    以上是生活随笔為你收集整理的ActiveMQ 部署及发送接收消息的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 五月天视频网 | 国产另类在线 | 婷婷综合av | 操操网 | 波多av| 麻豆精品视频在线观看 | 精品人妻无码一区二区三 | 啪免费视频 | 国产一区二区三区小说 | 一级黄色a级片 | 夜夜艹天天干 | 全黄一级裸体 | 成人禁污污啪啪入口 | 我要色综合网 | 午夜专区 | 国产精品国产成人国产三级 | 黄色免费片 | 国产一级免费观看 | 欧美三日本三级少妇三级99观看视频 | 在线视频毛片 | 91大神精品 | julia一区二区中文久久97 | 一区二区三区视频免费视 | 欧美女优在线观看 | h片网站在线观看 | 777黄色 | 欧美a级黄色片 | 日韩国产欧美在线观看 | 乱淫av| 美女综合网| 国产午夜大地久久 | 91高清视频| 男人的天堂久久久 | 99久视频| 日韩天堂一区 | 五月天av在线 | 毛片哪里看 | 亚洲午夜精品久久久久久浪潮 | www网站在线观看 | 91网页在线观看 | 国产成人在线播放视频 | 成人性生交大全免 | 国产在线看黄 | 一区二区三区美女 | 国产另类av | 国产麻豆精品在线观看 | 国产在线观看a | 不卡精品| 97超碰伊人 | 一级日韩毛片 | 美女扒开腿免费视频 | 樱空桃在线观看 | 亚洲不卡在线视频 | 动漫美女视频 | 桃色视频在线 | 天天摸天天碰 | 好爽又高潮了毛片 | 亚洲av无码一区二区三区观看 | 黄色日韩 | 91超碰国产在线 | 黄色片日韩 | 亚洲少妇色 | 日本爽爽爽爽爽爽在线观看免 | 天天操天天操天天操天天 | 欧美中日韩在线 | 日本乱码一区 | 偷偷操不一样的久久 | 欧美一区亚洲二区 | 国产一级二级 | av先锋影音| 一色桃子juy758在线播放 | 国产免费一区视频观看免费 | 亚洲精品中文字幕乱码三区91 | 亚洲欧美日韩在线不卡 | 国产精品一区二区三区高潮 | 欧美三级特黄 | 男人猛吃奶女人爽视频 | 久久久久亚洲av成人网人人网站 | www国产免费 | 国产精品破处 | 欧美美女色图 | 欧美视频久久久 | www.777奇米影视 | 日本亲与子乱ay中文 | 无码精品a∨在线观看中文 福利片av | 色哟哟精品一区 | аⅴ资源天堂资源库在线 | 国产精品嫩草影院桃色 | 美女黄视频网站 | 欧美 日韩 国产 一区二区三区 | 国产精品国产三级国产a | 秘密基地电影免费版观看国语 | 91网站观看 | 亚洲欧美一区二区精品久久久 | 国产综合区 | 俄罗斯女人裸体性做爰 | 91日韩一区二区 | 黄色动漫软件 | 影音先锋中文字幕在线 |