日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MQ通道配置

發(fā)布時間:2025/7/25 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MQ通道配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MQ通道配置

通道是用來連接兩個隊列管理器的;
在單個隊列管理器內(nèi)讀寫消息不需要建立通道;但在一個隊列管理器中寫入消息,而從另一個隊列管理器中的隊列取出消息,這就需要建立通道;
通道,對跨機和本機的隊列管理器不做區(qū)分,對于兩個隊列管理器,不論是否分布在同一個機器上,配置方式都是一樣的,所不同的就是ip的地址配置;

通道類型

通信雙方的通道類型配對并不是可以隨意排列組合的,共有六種。(詳見《精通MQ》1.2.4 p24)
Sender/Receiver 是所有連接中最簡單、最常用的一種。Sender 是通道主動方,也是
消息發(fā)送方。
Requester/Server 也是常用的一種連接方式。Requester 是通道主動方,但通道連接
后,它作為消息接收方,Server 是消息發(fā)送方。
Server/Receiver 與 Sender/Receiver 類似,Server 是消息的發(fā)送方,也是連接的主動
方。與 Sender 定義類似,Server 定義中必須指定 CONNAME 參數(shù)。

Sender/Receiver 通道是最常見的通道配置方式, Sender 作為通道的發(fā)送方也是通道連接的主動發(fā)起方,Receiver 作為通道的接收方也是通道連接的被動監(jiān)聽方。在 Receiver 端要配置并運行相應的監(jiān)聽器。

配置示例

以下以Sender/Receiver 作為示例:
在以下的配置腳本中,通道連接兩個隊列管理器 QM1 和 QM2。其中,QM1為 Sender,
QM2 為 Receiver。在 QM1 上配置了遠程隊列 QR 和傳輸隊列 QX,其中 QR 指向隊列管理器 QM2 上的本地隊列 QL,且 QR 與 QX 對應,即凡是要放入 QR 隊列的消息,在加上傳輸消息頭后直接放入 QX 中等待發(fā)送。QM1 上配置 Sender 通道需要指定對方的通信參數(shù) (IP地址和端口),而這些參數(shù)必須與 QM2 上的監(jiān)聽器設置對應。Sender 通道與傳輸隊列 QX 對應,表示凡是在 QX 中等待發(fā)送的消息最終都可以由該通道送出。雙方通道必須同名。
在連接通道的時候,我們只需在 QM1 端啟動通道 start channel (C)。

開始干活:
1.建立隊列管理器
首先,我們在10.6.159.147 建立兩個隊列管理器QM1、QM2,然后運行起來;

/var/mqm/sh$crtmqm QM1 /var/mqm/sh$crtmqm QM2 /var/mqm/sh$strmqm QM1 /var/mqm/sh$strmqm QM2

2.建立隊列和通道
定義qm1的隊列和通道創(chuàng)建腳本:

/var/mqm/sh$vi define_qm1.tst DEFINE QREMOTE (QR) RNAME (QL) RQMNAME (QM2) XMITQ (QX) REPLACE DEFINE QLOCAL (QX) USAGE (XMITQ) REPLACE DEFINE CHANNEL (C) CHLTYPE (SDR) TRPTYPE (TCP) CONNAME ('127.0.0.1 (1416)') XMITQ (QX) REPLACE

創(chuàng)建qm1的隊列和通道:

/var/mqm/sh$runmqsc QM1 < define_qm1.tst > out

查看out文件,確認沒有錯誤;

定義qm2的隊列和通道創(chuàng)建腳本:

/var/mqm/sh$vi define_qm2.tst DEFINE QLOCAL (QL) REPLACE DEFINE CHANNEL (C) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE

創(chuàng)建qm2的隊列和通道:

/var/mqm/sh$runmqsc QM2 < define_qm2.tst > out

查看out文件,確認沒有錯誤;

3.在qm2運行監(jiān)聽器
在qm2上運行監(jiān)聽器,監(jiān)聽連接和發(fā)報請求;

/opt/mqm/bin$runmqlsr -m QM2 -t tcp -p 1416

(停止監(jiān)聽器的命令:endmqlsr -m QM2)

4.運行通道
qm2的監(jiān)聽器不啟動時,qm1上運行通道是無法啟動的,因為無法建立起連接;

/opt/mqm/bin$runmqchl -c C -m QM1

或者通過mqsc來運行通道:

runmqsc QM1 start channel (C)

5.發(fā)送測試報文

/var/mqm/sh$amqsput QR QM1 hello from qm1

6.接收測試報文

/var/mqm/sh$amqsget QL QM2 >hello from qm1

一次全部接受回來

7.不同的機器上
進一步,我們再另外一臺機器上建立QM3隊列管理器:

/var/mqm/sh$crtmqm QM3 /var/mqm/sh$strmqm QM3 隊列的定義與qm2一樣,創(chuàng)建: /var/mqm/sh$runmqsc QM3 < define_qm3.tst > out 運行監(jiān)聽器: /opt/mqm/bin$runmqlsr -m QM3 -t tcp -p 1416

qm1上的隊列需要修改下ip:

DEFINE QREMOTE (QR) RNAME (QL) RQMNAME (QM3) XMITQ (QX) REPLACE DEFINE QLOCAL (QX) USAGE (XMITQ) REPLACE DEFINE CHANNEL (C) CHLTYPE (SDR) TRPTYPE (TCP) CONNAME ('10.6.159.211 (1416)') XMITQ (QX) REPLACE

發(fā)送接收測試類似,沒問題;

over;
Posted by: 大CC | 12DEC,2013
博客:blog.me115.com
微博:新浪微博

轉(zhuǎn)載于:https://www.cnblogs.com/me115/p/3471788.html

總結(jié)

以上是生活随笔為你收集整理的MQ通道配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。