Websphere MQ基本由一個消息傳輸系統和一個應用程序接口組成,其資源是消息和隊列(Messaging and Queuing)。
隊列按其定義可分成本地隊列、遠程隊列、別名隊列和模型隊列,如圖1所示。其中只有本地隊列是真正意義上的隊列實體,可以存放消息。遠程隊列和別名隊列只是一種隊列定義,指向另一個隊列實體。遠程隊列指向的是其他隊列管理器中的隊列,而別名隊列指向的是本地隊列管理器中的隊列。模型隊列有一點特殊,它雖然本身只是一個隊列定義,描述了模型的屬性,但是當打開模型隊列的時候,隊列管理器會以這個定義爲模型,創建一個本地隊列,被稱爲動態隊列。
一個隊列管理器下轄很多個消息隊列,但每個隊列卻只能屬於一個隊列管理器。隊列在它所屬的管理器中只能有一個惟一的名字,不能與同一個管理器的其他隊列重名。當消息被添加到隊列中,它缺省將被加到最後,與之相反,刪除消息缺省卻是從頭開始。
圖1隊列的分類
<二> 通道類型
Websphere MQ用通道類型屬性(CHLTYPE)約定了通信雙方在連接握手協議中的主動方和被動方以及應用消息的流向。可選以下這些類型:
●SDR(Sender)握手協議的主動方,消息的發送方
● RCVR(Receiver)握手協議的被動方,消息的接收方
● SVR(Server)在握手協議中可以是主動方也可以是被動方,消息的發送方
● RQSTR(Requester)在握手協議中可以是主動方也可以是被動方,消息的接收方
● CLNTCONN(Client Connection)在Client—Server連接時,定義客戶端連接定義表(Client Channel Definition Table)時使用。握手協議的主動方,消息的發送方
● SVRCONN(Server Connection)在Client—Server連接時,定義服務器端連接時使用。握手協議的被動方,消息的接收方
● CLUSSDR(Cluster Sender)在羣集中發送配置信息和應用消息。握手協議的主動方,消息的發送方
● CLUSRCVR(Cluster Receiver)在羣集中接收配置信息和應用消息。握手協議的被動方,消息的接收方
通信雙方的通道類型配對並不是可以隨意排列組合的,共有6種,如圖所示:
圖2 通道類型配對
圖中細線箭標表示握手協議中的主動連接,粗線箭標表示應用消息流向。消息在所有的通道上都是單向傳送的。
定義隊列:
DEFINE CHANNEL(TO.QM1000) + -----隊列名TO.QM1000
CHLTYPE(CLUSSDR) CONNAME(‘192.168.10.22(1414)’) + -----類型爲集羣發送,連接名192.168.10.22(1414)
TRPTYPE(TCP) + -------通過TCP協議進行通信
CLUSTER(NPC) + ------集羣名NPC
DESCR(‘To Other Repository’) -----描述爲To Other Repository
· WebSphere MQ 配置文件(mqs.ini),它的屬性將影響整個WebSphere MQ節點系統,每個節點有一個mqs.ini文件。
· 隊列管理器配置文件(qm.ini),它的屬性僅影響某個隊列管理器,在節點中的每個隊列管理器都有一個qm.ini文件。
MQ 控制命令
命令名 |
目的 |
amqmcert |
管理 SSL 證書 |
amqmdain |
配置或控制 WebSphere MQ 服務(僅 Windows 系統) |
crtmqcvx |
轉換數據 |
crtmqm |
創建本地隊列管理器 |
dltmqm |
刪除隊列管理器 |
dmpmqaut |
轉儲打開對象的權限 |
dmpmqlog |
轉儲日誌 |
dspmq |
顯示隊列管理器 |
dspmqaut |
顯示打開對象的權限 |
dmpmqcap |
顯示處理程序容量和處理程序數 |
dspmqcsv |
顯示命令服務器狀態 |
dspmqfls |
顯示文件名 |
dspmqtrc |
顯示格式化跟蹤輸出(HP-UX、Linux 和 Solaris) |
dspmqrtn |
顯示事務的詳細信息 |
endmqcsv |
停止隊列管理器上的命令服務器 |
endmqlsr |
停止隊列管理器上的偵聽器進程 |
endmqm |
停止本地隊列管理器 |
endmqtrc |
停止對實體的跟蹤(不用於 AIX) |
rcdmqimg |
向日志寫對象的映象 |
rcrmqobj |
根據它們在日誌中的映象重新創建一個對象 |
rsvmqtrn |
提交或逆序恢復事務 |
runmqchi |
啓動通道啓動器進程 |
runmqchl |
啓動發送方或請求者通道 |
runmqdlq |
啓動死信隊列處理程序 |
runmqlsr |
啓動偵聽器進程 |
runmqsc |
向隊列管理器發出 MQSC 命令 |
runmqtmc |
調用客戶機的觸發器監控器(僅 AIX 客戶機) |
runmqtrm |
調用服務器的觸發器監控器 |
setmqaut |
更改打開對象的權限 |
setmqcap |
設置處理程序容量 |
setmqcrl |
設置證書撤銷列表(CRL)服務器定義 |
setmqscp |
設置服務連接點(僅 Windows 系統) |
strmqcsv |
啓動隊列管理器的命令服務器 |
strmqm |
啓動本地隊列管理器 |
strmqtrc |
啓用跟蹤(不用於 AIX) |