一、認(rèn)識(shí)ActiveMQ ? ? ? ? ??
? ? ? ? ActiveMQ 是Apache出品褐鸥,最流行的俊鱼,能力強(qiáng)勁的開源消息總線搓劫。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)用中間仍然扮演著特殊的地位萤捆。
? ? ? ? JMS即Java消息服務(wù)(Java Message Service)應(yīng)用程序接口,是一個(gè)Java平臺(tái)中關(guān)于面向消息中間件(MOM)的API,用于在兩個(gè)應(yīng)用程序之間俗或,或分布式系統(tǒng)中發(fā)送消息市怎,進(jìn)行異步通信。Java消息服務(wù)是一個(gè)與具體平臺(tái)無關(guān)的API辛慰,絕大多數(shù)MOM提供商都對(duì)JMS提供支持区匠,它是一套規(guī)范,一套標(biāo)準(zhǔn)帅腌。
二驰弄、應(yīng)用方面
? ? ? 1.點(diǎn)對(duì)點(diǎn)方式(point-to-point Queue)
? ? ? ?點(diǎn)對(duì)點(diǎn)的消息發(fā)送方式主要建立在 Message Queue,Sender,reciever上,Message Queue 存貯消息速客,Sneder 發(fā)送消息戚篙,receive接收消息.具體點(diǎn)就是Sender Client發(fā)送Message Queue ,而 receiver Cliernt從Queue中接收消息和”發(fā)送消息已接受”到Quere,確認(rèn)消息接收。消息發(fā)送客戶端與接收客戶端沒有時(shí)間上的依賴溺职,發(fā)送客戶端可以在任何時(shí)刻發(fā)送信息到Queue岔擂,而不需要知道接收客戶端是不是在運(yùn)行。
? ? ? 2.發(fā)布/訂閱 方式(publish/subscriber Messaging Topic)
? ? ? ?發(fā)布/訂閱方式用于多接收客戶端的方式.作為發(fā)布訂閱的方式浪耘,可能存在多個(gè)接收客戶端乱灵,并且接收端客戶端與發(fā)送客戶端存在時(shí)間上的依賴。一個(gè)接收端只能接收他創(chuàng)建以后發(fā)送客戶端發(fā)送的信息七冲。作為subscriber ,在接收消息時(shí)有兩種方法阔蛉,destination的receive方法,和實(shí)現(xiàn)message listener 接口的onMessage 方法癞埠。
? ? ? ?3.基本步驟
? ? ? ?創(chuàng)建factory-->創(chuàng)建connection-->創(chuàng)建session-->創(chuàng)建生產(chǎn)者(或消費(fèi)者)-->收發(fā)消息
? ? ? ? 大概的流程圖如下:
? ? 本章節(jié)只是介紹認(rèn)識(shí)ActiveMQ這個(gè)產(chǎn)品状原,具體的實(shí)踐,請(qǐng)參考下個(gè)章節(jié)苗踪。