ActiveMQ在Linux的安裝與使用
ActiveMQ是用來解決服務直接的相互直接呼叫的問題,用來解耦合.它的作用就相當於是中介的作用,使用它來發送訊息和接收訊息,服務直接呼叫的話都通過它來實現.
如果不使用它的話,服務直接直接相互呼叫的話,在啟動服務的時候就有先後順序,不然就會報錯,如果三個服務直接都互相呼叫那就沒法啟動了,所以得使用activeMQ
什麼是ActiveMq
ActiveMQ 是Apache出品,最流行的,能力強勁的開源訊息匯流排。ActiveMQ 是一個完全支援JMS1.1和J2EE 1.4規範的 JMS Provider實現,儘管JMS規範出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。JMS就是sun公司那會兒定義的規範一套介面ActiveMQ就是實現了那套介面的實現類.
主要特點:
1. 多種語言和協議編寫客戶端。語言: Java, C, C++, C#, Ruby, Perl, Python, PHP。應用協議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2. 完全支援JMS1.1和J2EE 1.4規範 (持久化,XA訊息,事務)
3. 對Spring的支援,ActiveMQ可以很容易內嵌到使用Spring的系統裡面去,而且也支援Spring2.0的特性
4. 通過了常見J2EE伺服器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的測試,其中通過JCA 1.5 resource adaptors的配置,可以讓ActiveMQ可以自動的部署到任何相容J2EE 1.4 商業伺服器上
5. 支援多種傳送協議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6. 支援通過JDBC和journal提供高速的訊息持久化
7. 從設計上保證了高效能的叢集,客戶端-伺服器,點對點
8. 支援Ajax
9. 支援與Axis的整合
10. 可以很容易得呼叫內嵌JMS provider,進行測試
ActiveMQ的訊息形式
對於訊息的傳遞有兩種型別:
一種是點對點的,即一個生產者和一個消費者一一對應;
另一種是釋出/訂閱模式,即一個生產者產生訊息並進行傳送後,可以由多個消費者進行接收。
JMS定義了五種不同的訊息正文格式,以及呼叫的訊息型別,允許你傳送並接收以一些不同形式的資料,提供現有訊息格式的一些級別的相容性。用的最對的就是TextMessage字串形式
· StreamMessage -- Java原始值的資料流
· MapMessage--一套名稱-值對
· TextMessage--一個字串物件
· ObjectMessage--一個序列化的 Java物件
· BytesMessage--一個位元組的資料流
ActiveMQ的安裝
進入http://activemq.apache.org/下載ActiveMQ