Mq下載地址:http://activemq.apache.org/download.html
內(nèi)容:
? ??bin存放的是腳本文件
????conf存放的是基本配置文件
????data存放的是日志文件
????docs存放的是說明文檔
????examples存放的是簡單的實例
????lib存放的是activemq所需jar包
????webapps用于存放項目的目錄
啟動ActiveMQ
進入到ActiveMQ 安裝目錄的Bin 目錄鹤竭,linux 下輸入 ./activemq start 啟動activeMQ 服務矾柜。
輸入命令之后鲫寄,會提示我們創(chuàng)建了一個進程IP 號屿脐,這時候說明服務已經(jīng)成功啟動了。
ActiveMQ默認啟動時歉糜,啟動了內(nèi)置的jetty服務器乘寒,提供一個用于監(jiān)控ActiveMQ的admin應用。?
admin:http://127.0.0.1:8161/admin/
我們在瀏覽器打開鏈接之后輸入賬號密碼(這里和tomcat 服務器類似)
默認賬號:admin
密碼:admin
到這里為止匪补,ActiveMQ 服務端就啟動完畢了肃续。
ActiveMQ 在linux 下的終止命令是?./activemq stop
啟動后,activeMQ會占用兩個端口叉袍,一個是負責接收發(fā)送消息的tcp端口:61616,一個是基于web負責用戶界面化管理的端口:8161刽酱。這兩個端口可以在conf下面的xml中找到喳逛。http服務器使用了jettry。這里有個問題是啟動mq后棵里,很長時間管理界面才可以顯示出來
JMS體系結(jié)構(gòu)
JMS提供者(JMS的實現(xiàn)者润文,比如activemq jbossmq等)
JMS客戶(使用提供者發(fā)送消息的程序或?qū)ο螅缭?2306中殿怜,負責發(fā)送一條購票消息到處理隊列中典蝌,用來解決購票高峰問題,那么头谜,發(fā)送消息到隊列的程序和從隊列獲取消息的程序都叫做客戶)
JMS生產(chǎn)者骏掀,JMS消費者(生產(chǎn)者及負責創(chuàng)建并發(fā)送消息的客戶,消費者是負責接收并處理消息的客戶)
JMS消息(在JMS客戶之間傳遞數(shù)據(jù)的對象)
JMS隊列(一個容納那些被發(fā)送的等待閱讀的消息的區(qū)域)
JMS主題(一種支持發(fā)送消息給多個訂閱者的機制)
JMS對象模型
連接工廠(connectionfactory)客戶端使用JNDI查找連接工廠柱告,然后利用連接工廠創(chuàng)建一個JMS連接截驮。
JMS連接 表示JMS客戶端和服務器端之間的一個活動的連接,是由客戶端通過調(diào)用連接工廠的方法建立的际度。
JMS會話 session 標識JMS客戶端和服務端的會話狀態(tài)葵袭。會話建立在JMS連接上,標識客戶與服務器之間的一個會話進程乖菱。
JMS目的 Destinatio 又稱為消息隊列坡锡,是實際的消息源
生產(chǎn)者和消費者
消息類型蓬网,分為隊列類型(優(yōu)先先進先出)以及訂閱類型
MQ處理消息的流程
消息從生成方客戶端傳送到消息服務器。
消息服務器讀取消息鹉勒。
消息被放置到持久性存儲器當中(出于可靠性的考慮)帆锋。
消息服務器確認收到消息(出于可靠性的考慮)。
消息服務器確定消息的路由贸弥。
消息服務器寫出消息窟坐。
消息從消息服務器傳送到使用方客戶端。
使用方客戶端確認收到消息(出于可靠性的考慮)绵疲。
消息服務器處理客戶端確認(出于可靠性的考慮)哲鸳。
消息服務器確定已經(jīng)處理客戶端確認。