国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Activemq平臺(tái)搭建與C#示列

2019-11-14 14:34:11
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

ActiveMQ

ActiveMQ 是Apache出品,最流行的,能力強(qiáng)勁的開(kāi)源消息總線(xiàn)。ActiveMQ 是一個(gè)完全支持JMS1.1和J2EE 1.4規(guī)范的 JMS PRovider實(shí)現(xiàn),盡管JMS規(guī)范出臺(tái)已經(jīng)是很久的事情了,但是JMS在當(dāng)今的J2EE應(yīng)用中間仍然扮演著特殊的地位。

特性

  1.  多種語(yǔ)言和協(xié)議編寫(xiě)客戶(hù)端。語(yǔ)言: java、C、C++、C#、Ruby、Perl、Python、php。應(yīng)用協(xié)議:OpenWire、Stomp REST、WS Notification、XMPP、AMQP
  2. 完全支持JMS1.1和J2EE 1.4規(guī)范 (持久化,XA消息,事務(wù))
  3. 對(duì)Spring的支持,ActiveMQ可以很容易內(nèi)嵌到使用Spring的系統(tǒng)里面去,而且也支持Spring2.0的特性
  4. 通過(guò)了常見(jiàn)J2EE服務(wù)器(如 Geronimo、JBoss 4、GlassFish、WebLogic)的測(cè)試,其中通過(guò)JCA 1.5 resource adaptors的配置,可以讓ActiveMQ可以自動(dòng)的部署到任何兼容J2EE 1.4 商業(yè)服務(wù)器上
  5. 支持多種傳送協(xié)議:in-VM、TCP、SSL、NIO、UDP、JGroups、JXTA
  6. 支持通過(guò)JDBC和journal提供高速的消息持久化
  7. 從設(shè)計(jì)上保證了高性能的集群,客戶(hù)端-服務(wù)器,點(diǎn)對(duì)點(diǎn)
  8. 支持Ajax
  9. 支持與Axis的整合
  10. 可以很容易得調(diào)用內(nèi)嵌JMS provider,進(jìn)行測(cè)試

環(huán)境準(zhǔn)備

我以windows7為列子

  1. Windows 7
  2. jdk1.6+ 并在windows下配置好環(huán)境變量等,具體可以看 http://jingyan.baidu.com/article/ff41162596a77912e4823716.html
  3. 下載最新版activemq  http://activemq.apache.org/activemq-5121-release.html

安裝

解壓下載好的安裝包,至本地任何磁盤(pán)

啟動(dòng)activemq服務(wù)

啟動(dòng)成功后的界面是

如果出現(xiàn)major.minor version51.0 之類(lèi)的錯(cuò)誤,都是java版本安裝錯(cuò)誤的問(wèn)題,安裝1.6+以上的版本就能解決

啟動(dòng)成功后,http://localhost:8161/admin,默認(rèn)用戶(hù)名和密碼admin/admin。如果你想修改用戶(hù)名和密碼的話(huà),在conf/jetty-realm.properties中修改即可。

如果需要修改端口可以在jetty文件中修改

管理員界面如下

ActiviteMQ接收和發(fā)送消息基本流程

摘自 http://www.survivalescaperooms.com/hoojo/p/active_mq_jms_apache_activeMQ.html

發(fā)送消息的基本步驟:

(1)、創(chuàng)建連接使用的工廠類(lèi)JMS ConnectionFactory

(2)、使用管理對(duì)象JMS ConnectionFactory建立連接Connection,并啟動(dòng)

(3)、使用連接Connection 建立會(huì)話(huà)session

(4)、使用會(huì)話(huà)Session和管理對(duì)象Destination創(chuàng)建消息生產(chǎn)者M(jìn)essageSender

(5)、使用消息生產(chǎn)者M(jìn)essageSender發(fā)送消息 

消息接收者從JMS接受消息的步驟

(1)、創(chuàng)建連接使用的工廠類(lèi)JMS ConnectionFactory

(2)、使用管理對(duì)象JMS ConnectionFactory建立連接Connection,并啟動(dòng)

(3)、使用連接Connection 建立會(huì)話(huà)Session

(4)、使用會(huì)話(huà)Session和管理對(duì)象Destination創(chuàng)建消息接收者M(jìn)essageReceiver

(5)、使用消息接收者M(jìn)essageReceiver接受消息,需要用setMessageListener將MessageListener接口綁定到MessageReceiver消息接收者必須實(shí)現(xiàn)了MessageListener接口,需要定義onMessage事件方法。

 

C#消息隊(duì)列寫(xiě)入

ActiveMQ官方網(wǎng)站下載最新版的Apache.NMS,網(wǎng)址:http://activemq.apache.org/nms/download.html,需要下載Apache.NMS和Apache.NMS.ActiveMQ兩個(gè)bin包

http://www.apache.org/dyn/closer.lua/activemq/apache-nms/1.7.0/Apache.NMS.ActiveMQ-1.7.1-bin.zip

創(chuàng)建C#項(xiàng)目,將這兩個(gè)DLL添加到項(xiàng)目中。

寫(xiě)入地址如下

寫(xiě)入賬號(hào),密碼如下

寫(xiě)入代碼如下:

namespace Consoleapplication21{    class Program    {        static void Main(string[] args)        {            String QueuesNameESF = "queue://test.log";            Uri _uri = new Uri(String.Concat("activemq:tcp://10.58.8.239:61616"));            IConnectionFactory factory = new ConnectionFactory(_uri);            using (IConnection conn = factory.CreateConnection("admin", "manager"))            {                using (ISession session = conn.CreateSession())                {                    IDestination destination = SessionUtil.GetDestination(session, QueuesNameESF);                     using (IMessageProducer producer = session.CreateProducer(destination))                    {                        conn.Start();                        //可以寫(xiě)入字符串,也可以是一個(gè)xml字符串等                        ITextMessage request = session.CreateTextMessage("messsage");                        producer.Send(request);                    }                }            }        }    }

寫(xiě)入后,可以查看

 

讀取代碼如下:

 

using System;using Apache.NMS;using Apache.NMS.ActiveMQ;using Apache.NMS.Util;namespace ConsoleApplication21{    class Program    {        static void Main(string[] args)        {            String QueuesNameESF = "queue://test.log";            Uri _uri = new Uri(String.Concat("activemq:tcp://10.58.8.239:61616?wireFormat.maxInactivityDuration=0"));            IConnectionFactory factory = new ConnectionFactory(_uri);            using (IConnection conn = factory.CreateConnection("admin", "manager"))            {                using (ISession session = conn.CreateSession())                {                    conn.Start();                    IDestination destination = SessionUtil.GetDestination(session, QueuesNameESF);                    using (IMessageConsumer consumer = session.CreateConsumer(destination))                    {                        ITextMessage message = consumer.Receive() as ITextMessage;                        Console.Write(message.Text);                    }                }            }            Console.ReadLine();        }    }}

 

 

作者:釋迦苦僧 出處:http://www.survivalescaperooms.com/woxpp/p/5001373.html 本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湾仔区| 玛曲县| 仲巴县| 雅江县| 周口市| 沅陵县| 临武县| 通化市| 贵州省| 和林格尔县| 南投市| 镇巴县| 绩溪县| 阿合奇县| 田东县| 普洱| 关岭| 尼勒克县| 英山县| 丰镇市| 丰台区| 漾濞| 小金县| 泽库县| 红桥区| 颍上县| 慈利县| 和林格尔县| 黄浦区| 五河县| 桃园市| 波密县| 含山县| 文安县| 郑州市| 商水县| 八宿县| 荆门市| 株洲市| 宝应县| 尼玛县|