https://blog.csdn.net/qq_22075041/article/details/77602996
什么是ActiveMQ
ActiveMQ是Apache出品屯掖,最流行的分俯,能力強勁的開源消息總線枝哄。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規(guī)范的 JMS Provider實現(xiàn),盡管JMS規(guī)范出臺已經(jīng)是很久的事情了,但是JMS在當今的J2EE應(yīng)用中間仍然扮演著特殊的地位。
主要特點
多種語言和協(xié)議編寫客戶端平酿。語言: Java, C, C++, C#, Ruby, Perl, Python, PHP。應(yīng)用協(xié)議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
完全支持JMS1.1和J2EE 1.4規(guī)范 (持久化,XA消息,事務(wù))
對Spring的支持,ActiveMQ可以很容易內(nèi)嵌到使用Spring的系統(tǒng)里面去,而且也支持Spring2.0的特性
通過了常見J2EE服務(wù)器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的測試,其中通過JCA 1.5 resourceadaptors的配置,可以讓ActiveMQ可以自動的部署到任何兼容J2EE1.4 商業(yè)服務(wù)器上
支持多種傳送協(xié)議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
支持通過JDBC和journal提供高速的消息持久化
從設(shè)計上保證了高性能的集群,客戶端-服務(wù)器,點對點
支持Ajax
支持與Axis的整合
可以很容易得調(diào)用內(nèi)嵌JMS provider,進行測試
JMS介紹
JMS的全稱是Java Message Service,即Java消息服務(wù)搜变。用于在兩個應(yīng)用程序之間孟岛,或分布式系統(tǒng)中發(fā)送消息瓶竭,進行異步通信。
它主要用于在生產(chǎn)者和消費者之間進行消息傳遞渠羞,生產(chǎn)者負責產(chǎn)生消息斤贰,而消費者負責接收消息。把它應(yīng)用到實際的業(yè)務(wù)需求中的話我們可以在特定的時候利用生產(chǎn)者生成一消息次询,并進行發(fā)送荧恍,對應(yīng)的消費者在接收到對應(yīng)的消息后去完成對應(yīng)的業(yè)務(wù)邏輯。
對于消息的傳遞有兩種類型:
一種是點對點的屯吊,即一個生產(chǎn)者和一個消費者一一對應(yīng)送巡;
另一種是發(fā)布/訂閱模式,即一個生產(chǎn)者產(chǎn)生消息并進行發(fā)送后雌芽,可以由多個消費者進行接收授艰。
JMS定義了五種不同的消息正文格式,以及調(diào)用的消息類型世落,允許你發(fā)送并接收以一些不同形式的數(shù)據(jù)淮腾,提供現(xiàn)有消息格式的一些級別的兼容性。
· StreamMessage -- Java原始值的數(shù)據(jù)流
· MapMessage--一套名稱-值對
· TextMessage--一個字符串對象
· ObjectMessage--一個序列化的 Java對象
· BytesMessage--一個字節(jié)的數(shù)據(jù)流