1. 程式人生 > >ActiveMQ在Linux的安裝與使用

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

安裝步驟Linux版,因為它是java開發的,所以得有java環境

安裝jdk步驟https://blog.csdn.net/kxj19980524/article/details/84976803

然後把MQ壓縮包上傳到linux,並解壓它

進來之後有個jar包,如果你寫專案使用到spring的時候客戶端別使用這個jar包,因為這個包裡有spring的類,但是缺少方法,啟動就會報錯,如果不使用spring的話就無所謂,所以在專案中使用它的話,導5.11.2這個版本的,它裡面沒spring的類.

進入到bin目錄下,直接啟動就可以了

檢視啟動狀態,和關閉它

然後啟動,關閉防火牆

然後訪問8161埠就會訪問成功

如果訪問報503錯誤,就看你當前使用者名稱叫啥,然後vim /etc/hosts進去,hosts是隱藏的目錄別用快捷方式,自己手打,進去後,後面加上自己使用者名稱然後儲存,再重啟一下MQ就可以訪問了

檢視自己的使用者名稱

然後把使用者名稱加到後面就可以了

然後進行登入使用者名稱密碼都是admin

如果在點選queues和topics報錯的話,也按照上面把自己使用者名稱加上重啟就可以了

ActiveMQ的簡單使用https://blog.csdn.net/kxj19980524/article/details/85834788

ActiveMQ整合Spring https://blog.csdn.net/kxj19980524/article/details/85943776