posts - 14,  comments - 22,  trackbacks - 0

          學習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、從資料上看到有個服務器傳輸通道,不知道是做什么用的?

          posted on 2008-11-12 17:37 張老三 閱讀(3874) 評論(3)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 许昌市| 军事| 乌拉特中旗| 淳安县| 太仆寺旗| 阜城县| 山东省| 陆良县| 胶州市| 许昌县| 来凤县| 云浮市| 治多县| 泾源县| 曲水县| 宁南县| 墨脱县| 仁寿县| 义马市| 商水县| 鄂伦春自治旗| 灵川县| 浦城县| 朝阳区| 惠来县| 安丘市| 肃北| 都江堰市| 宜阳县| 元江| 江山市| 日土县| 澳门| 通化市| 沧州市| 五河县| 肃北| 垣曲县| 准格尔旗| 六安市| 滨海县|