我的MQ笔记
1、安裝IBM MQ
1.1、安裝先決條件:
(1)WebSphere??Eclipse??Platform??V3.01
(2)為Windows域用戶配置WebSphere MQ用戶
1.2、安裝程序:
(1)接受協(xié)議:
?
(2)選擇安裝類型為‘定制’:
?
(3)更改程序文件夾位置:
?
(4)數(shù)據(jù)文件夾位置:
?
(5)IBM Global Security Kit文件夾位置:
?
(6)日志文件夾位置:
?
(7)將各功能選項(xiàng)全部安裝,如圖:(其中MQ資源管理器是默認(rèn)安裝的)
?
(8)開始安裝
?
(9)安裝完畢后,退出系統(tǒng);
1.3、安裝MQ補(bǔ)丁:
(1)安裝補(bǔ)丁前需要做以下動(dòng)作:
Endmqm??-p??隊(duì)列管理器名稱
Endmqlsr??-m??隊(duì)列管理器名稱
停止MQ服務(wù)
?
?
(2)MQ補(bǔ)丁安裝完成后,它類似Windows補(bǔ)丁,可手動(dòng)移除補(bǔ)丁,如圖:
?
?
?
?
?
?
?
?
2、IBM MQ對(duì)象介紹
2.1、消息:
通信程序使用消息來交換數(shù)據(jù),發(fā)送程序如果構(gòu)造一條消息,則該消息應(yīng)包含:
-?要發(fā)送的數(shù)據(jù)
-?消息頭(控制信息,例如:消息標(biāo)識(shí)和返回地址)
????MQ傳遞的消息有兩部分組成:消息描述符(MessageDescriptor)和應(yīng)用數(shù)據(jù)(ApplicationData)。默認(rèn)最大傳遞的消息大小是4MB,可以根據(jù)需要進(jìn)行設(shè)置,最大可到100MB。
?
2.2、隊(duì)列:
隊(duì)列是消息在被程序接收之前的存儲(chǔ)位置,發(fā)送程序?qū)⑾⒎诺竭m當(dāng)?shù)年?duì)列中,當(dāng)接收程序就緒時(shí),它就從隊(duì)列中獲取消息。
有四種類型:本地隊(duì)列(LocalQueue)、遠(yuǎn)程隊(duì)列(RemoteQueue)、別名隊(duì)列(AliasQueue)和模型隊(duì)列(ModelQueue),最常用到的是本地隊(duì)列和遠(yuǎn)程隊(duì)列。
?
2.3、通道:
提供從一個(gè)隊(duì)列管理器到其他隊(duì)列管理器的數(shù)據(jù)傳輸路徑。通道類型有若干種,其中常用的是發(fā)送方通道(SenderChannel)和接收方通道(ReceiverChannel)。
?
2.4、隊(duì)列管理器:
每臺(tái)主管隊(duì)列的計(jì)算機(jī)都需要隊(duì)列管理器。每個(gè)隊(duì)列管理器都具有唯一的名稱并且管理在該隊(duì)列管理器上創(chuàng)建的隊(duì)列(這些隊(duì)列稱為本地隊(duì)列)。
每個(gè)本地隊(duì)列也都具有名稱,該名稱與它的隊(duì)列管理器的名稱一起提供了消息可以被發(fā)送到的唯一地址。
?
2.5、MQ資源管理器:
WebSphere MQ?資源管理器可以管理在?Windows、Unix、Linux、OS/400、z/Series?和其它平臺(tái)上運(yùn)行的遠(yuǎn)程隊(duì)列管理器。
?
?
?
3、MQ??mqsc命令格式:
MQSC?命令?DEFINE(用來定義對(duì)象,如隊(duì)列)、DISPLAY(用來顯示對(duì)象屬性,如隊(duì)列中的消息的數(shù)目)和?CLEAR(用來從隊(duì)列中除去消息)。具體說明見下表:
3.1、創(chuàng)建隊(duì)列管理器
crtmqm –q QMgrName
-q是指創(chuàng)建缺省的隊(duì)列管理器
Eg:???crtmqm –q??sunny
?
3.2、刪除隊(duì)列管理器
dltmqm QmgrName
eg:??dltmqm??sunny
?
3.3、啟動(dòng)隊(duì)列管理器
strmqm QmgrName
如果是啟動(dòng)默認(rèn)的隊(duì)列管理器,可以不帶其名字
Eg: Strmqm??QM_8
?
3.4、停止隊(duì)列管理器
(1)endmqm QmgrName?受控停止
(2)endmqm?–i QmgrName?立即停止????eg:??endmqm??-i??QM_8
(3)endmqm?–p QmgrName?強(qiáng)制停止????eg:??endmqm??-p???QM_8
?
3.5、顯示隊(duì)列管理器
dspmq –m QmgrName
eg:??dspmq –m??QM_0
C:\Documents and Settings\sfexpress>dspmq -m QM_NT
QMNAME(QM_NT)?????????????????????????????????????????????STATUS(正在運(yùn)行)
?
3.6、往隊(duì)列中放消息
amqsput QName QmgrName-------------------將輸入的信息存入QName隊(duì)列中
如果隊(duì)列是默認(rèn)隊(duì)列管理器中的隊(duì)列,可以不帶其隊(duì)列管理器的名字
eg:amqsput???RQ_8??QM_0??(往遠(yuǎn)程隊(duì)列中存放消息)
?
3.7、從隊(duì)列中取出消息
amqsget QName QmgrName -------------------從QName隊(duì)列中取出消息
如果隊(duì)列是默認(rèn)隊(duì)列管理器中的隊(duì)列,可以不帶其隊(duì)列管理器的名字
Eg:?amqsget LQ_8 QM_8??(從本地隊(duì)列中取消息)
?
3.8、啟動(dòng)通道
runmqchl –c ChlName –m QmgrName
eg:runmqchl -c 8.0 -m QM_8??(啟動(dòng)QM_8隊(duì)列管理器下的8.0通道)
?
3.9、啟動(dòng)偵聽
runmqlsr –t TYPE –p PORT –m QMgrName
?
3.10、停止偵聽
endmqlsr -m QmgrName
eg:endmqlsr -m QM_8-------停止隊(duì)列管理器QM_8上的偵聽器
?
3.11、運(yùn)行MQSeries命令
runmqsc QmgrName
如果是默認(rèn)隊(duì)列管理器,可以不帶其名字
eg:runmqsc??QM_8
?
(1)?定義死信隊(duì)列
DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE
Eg:?define??QLOCAL(Q_LOCAL)??DEFPSIST(YES)??REPLACE---新增一條本地隊(duì)列Q_LOCAL,設(shè)定持久性(由參數(shù)DEFPSIST確定)
?
設(shè)定隊(duì)列管理器的死信隊(duì)列
ALTER??QMGR??DEADQ(QNAME)
Eg:alter??QMGR??DEADQ(Q_LOCAL)----將Q_LOCAL設(shè)置為系統(tǒng)默認(rèn)隊(duì)列管理器的死信隊(duì)列;
?
(2)定義本地隊(duì)列
DEFINE QL(QNAME) REPLACE ------死信隊(duì)列為本地隊(duì)列的一種形式
(3)定義別名隊(duì)列
DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)
?
(4)遠(yuǎn)程隊(duì)列定義
DEFINE QREMOTE (QRNAME)??RNAME (AAA)??RQMNAME (QMGRNAME)?XMITQ(QTNAME)
說明:????QREMOTE (QRNAME)---指本地的遠(yuǎn)程隊(duì)列名稱
RNAME (AAA)----指的是接收端本地隊(duì)列名稱
RQMNAME (QMGRNAME)?-----接收端隊(duì)列管理器名稱
XMITQ(QTNAME)---------本地傳輸隊(duì)列名稱
???????
(5)定義本地傳輸隊(duì)列
DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) INITQ(SYSTEM.CHANNEL.INITQ)???PROCESS(PROCESSNAME) REPLACE
Eg:
?
(6)創(chuàng)建進(jìn)程定義
DEFINE PROCESS(PRONAME)??DESCR(‘STRING’)??APPLTYPE(WINDOWSNT)?APPLICID(’?runmqchl -c SDR_TEST -m QM_ TEST’)
其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等
?
(7)創(chuàng)建發(fā)送方通道
DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)??CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE
其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。
Eg:??XMITQ(QTNAME)--------代表傳輸隊(duì)列
?
(8)創(chuàng)建接收方通道
DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE
?
(9)創(chuàng)建服務(wù)器連接通道
DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE
?
(10)顯示隊(duì)列的所有屬性
DISPLAY QUEUE(QNAME) [ALL]
?
(11)顯示隊(duì)列的所選屬性
DISPLAY QUEUE(QNAME) DESCR GET PUT
DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH
?
(12)顯示隊(duì)列管理器的所有屬性
DISPLAY QMGR [ALL]
?
(13)顯示進(jìn)程定義
DISPLAY PROCESS(PRONAME)
?
(14)更改屬性
ALTER QMGR DESCR(‘NEW DESCRIPTION’)
ALTER QLOCAL(QNAME) PUT(DISABLED)
ALTER QALIAS(QNAME) TARGQ(TARGQNAME)
?
(15)刪除隊(duì)列
DELETE QLOCAL(QNAME)
DELETE QREMOTE(QRNAME)
?
(16)清除隊(duì)列中的所有消息
CLEAR QLOCAL(QNAME)
?
?
?
4、MQ的遠(yuǎn)程隊(duì)列管理
4.1?在客戶機(jī)上建立服務(wù)器連接通道
在被管理客戶端建立專用的‘服務(wù)器連接’通道,如下:
runmqsc QM_0
define channel(DC.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('000119')
alter qmgr CCSID(1381)
endmqm -p QM_0
strmqm QM_0
strmqcsv QM_0
?
說明:
(1)channel(DC.SVRCONN) CHLTYPE(SVRCONN) -----表明建立的DC.SVRCONN類型為服務(wù)器連接;
(2)MCAUSER-----管理隊(duì)列管理器上的操作用戶在被管理隊(duì)列管理器上存在并且有管理MQ的權(quán)限,需要修改服務(wù)器連接通道DC.SVRCONN的MCAUSER屬性為管理隊(duì)列管理器上的操作用戶;
????
?
4.2?在管理服務(wù)端上的操作步驟:
(1)???????在標(biāo)題的‘隊(duì)列管理器’上點(diǎn)擊右鍵,選擇顯示/隱藏隊(duì)列管理器;
?
(2)???????點(diǎn)‘添加’按鈕,輸入被管理客戶端的隊(duì)列管理器名稱,如:QM_UNIX,連接方式為直接連接;
?
(3)???????輸入被管理客戶端的信息,如主機(jī)名/ip地址,端口號(hào)(為被管理客戶端偵聽端口),服務(wù)器連接通道名稱,如下:
?
(4)???????點(diǎn)擊完成,開始連接,連接成功后,在隊(duì)列管理器中顯示多出一個(gè)客戶端的隊(duì)列管理器,如圖:
?
其中的服務(wù)器連接通道S_UNIX顯示狀態(tài)也為‘正在運(yùn)行’
?
?
?
5、MQ對(duì)象的備份與恢復(fù)
?
5.1?備份
1、將附件MS03.ZIP解壓,DOS模式下進(jìn)入MS03目錄
?
2、備份過程:
saveqmgr?–m?隊(duì)列管理名?–f?文件名.tst -s
?
說明:
----m隊(duì)列管理名
----f?備份信息將寫入的文本文件
----s?系統(tǒng)信息不需要導(dǎo)出
?
eg:?
5.2?恢復(fù)
恢復(fù)過程如下:
(1)創(chuàng)建隊(duì)列管理器:crtmqm?隊(duì)列管理名
?
(2)啟動(dòng)隊(duì)列管理器:strmqm?隊(duì)列管理名
?
(3)恢復(fù)通道隊(duì)列定義:runmqsc?隊(duì)列管理名?<?文件名.tst??>?日志文件.txt
?
eg:??runmqsc QM_UNIX < d:\backup.tst??> d:\log.txt?;
?
http://blog.163.com/microsunny_lin/blog/static/24266622200764112832488/
轉(zhuǎn)載于:https://www.cnblogs.com/WayneZeng/p/3836784.html
總結(jié)
- 上一篇: vue-axios intercepto
- 下一篇: 7.11牛客题(指针)