學習MQ(三) 乙個例項

2022-10-11 05:50:26 字數 3101 閱讀 7649

學習mq(三) 乙個例項。

現在有兩台機器a和b,分別安裝了mq6.0,我要通過mq進行a和b之間的雙向通訊。

我打算分兩步,第一步:實現a到b的資料傳輸。

在a上:

1、建立佇列管理器 qm_1001。

2、建立本地佇列 lq_1001

3、建立傳輸佇列 xq_1001

4、建立遠端佇列 rq_1002

5、建立傳送方通道 1001.1002

在b上:

1、建立佇列管理器 qm_1002

2、建立本地佇列 lq_1002

3、建立接收方通道 1001.1002,名字必須與傳送方通道相同。

4、建立偵聽器,監聽1414埠

這樣,a到b的資料傳輸就可以了。

啟動佇列管理器qm_1001和qm_1002,啟動b上的偵聽器,a上啟動傳送方通道1001.1002,b上的接收方通道也會自動執行;

第二步:實現b到a的資料傳輸

在b上:

1、建立傳輸佇列 xq_1002

2、建立遠端佇列 rq_1001

3、建立傳送方通道 1002.1001

在a上:

1、建立接收方通道1002.1001

2、建立偵聽器,偵聽1414埠

啟動a上的偵聽器,啟動b上的傳送方通道1002.1001,這樣a上的接收方通道會自動執行。

這樣,由b到a的資料傳輸也能進行了。

這是我搞定的第乙個例子,也是我學習mq以來感覺有進步的一次。

下面是指令碼。

在a上:

* 定義佇列管理器

crtmqm -t 5000 -h 1000 -lc -lf 10240 -lp 30 -ls 32 -q qm_1001

*更改qm的字符集編碼(ccsid)

alter qmgr force ccsid(1381)

* 定義本地佇列

define qlocal('lq_1001') replace +

usage(normal) +

defpsist(yes)

* 定義傳輸佇列

define qlocal('xq_1001') replace +

usage(xmitq) +

defpsist(yes) +

trigger +

trigtype(first) +

initq('system.channel.initq') +

process('') +

trigdata('1001.1002')

* 定義遠端佇列

define qremote('rq_1002') +

defpsist(yes) +

rname('lq_1002') +

rqmname('qm_1002') +

xmitq('xq_1001')

* 定義傳送方通道

define channel('1001.1002') +

chltype(sdr) +

trptype(tcp) +

conname('192.168.110.35(1414)') +

xmitq('xq_1001') +

discint(0) + 

shorttmr(30) +

shortrty(999999999) +

longtmr(1200) +

longrty(999999999)

* 定義接收方通道

define channel('1002.1001') +

chltype(rcvr) +

trptype(tcp)

* 啟動佇列管理器

strmqm qm_1001

* 啟動偵聽器

runmqlsr -m qm_1001 -t tcp -p 1414 &

在b上:

* 定義佇列管理器

crtmqm -t 5000 -h 1000 -lc -lf 10240 -lp 30 -ls 32 -q qm_1002

*更改qm的字符集編碼(ccsid)

alter qmgr force ccsid(1381)

* 定義本地佇列

define qlocal('lq_1002') replace +

usage(normal) +

defpsist(yes)

* 定義傳輸佇列

define qlocal('xq_1002') replace +

usage(xmitq) +

defpsist(yes) +

trigger +

trigtype(first) +

initq('system.channel.initq') +

process('') +

trigdata('1002.1001')

* 定義遠端佇列

define qremote('rq_1001') +

defpsist(yes) +

rname('lq_1001') +

rqmname('qm_1001') +

xmitq('xq_1002')

* 定義傳送方通道

define channel('1002.1001') +

chltype(sdr) +

trptype(tcp) +

conname('192.168.110.21(1414)') +

xmitq('xq_1002') +

discint(0) + 

shorttmr(30) +

shortrty(999999999) +

longtmr(1200) +

longrty(999999999)

* 定義接收方通道

define channel('1001.1002') +

chltype(rcvr) +

trptype(tcp)

* 啟動佇列管理器

strmqm qm_1002

* 啟動偵聽器

runmqlsr -m qm_1002 -t tcp -p 1414 &

剩下幾個疑問沒有明白

1、更改qm的字符集編碼是做什麼用的?

2、從資料上看到有個伺服器傳輸通道,不知道是做什麼用的?

專案三 乙個專案多個檔案

檔名稱 完成日期 2014年 04月01號 版本號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 程式輸出 無 問題分析 演算法設計 include include using namespace std ifndef cpoint h included define cpoint ...

C 三 乙個有理數類

class rational rational rational int numerator,int demominator numerator numerator demominator demominator const rational rational operator const rati...

從乙個例項學習 FLASK WTF

本案例通過實現乙個註冊頁面的編寫,來帶你了解flask wtf的運用.主要功能為表單基礎的功能 手機號碼必須為11位數,且通過資料庫查詢不能有已經註冊的了,密碼要求輸入兩遍且必須一樣,且所有內容不能為空的提示等內容.那麼現在就開始把 一.建立表單類.首先運用flask wtf你必須確保你的環境中已經...