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