MQ通道配置
转自:http://www.cnblogs.com/me115/p/3471788.html
MQ通道配置
通道是用来连接两个队列管理器的;
在单个队列管理器内读写消息不需要建立通道;但在一个队列管理器中写入消息,而从另一个队列管理器中的队列取出消息,这就需要建立通道;
通道,对跨机和本机的队列管理器不做区分,对于两个队列管理器,不论是否分布在同一个机器上,配置方式都是一样的,所不同的就是ip的地址配置;
通道类型
通信双方的通道类型配对并不是可以随意排列组合的,共有六种。(详见《精通MQ》1.2.4 p24)
Sender/Receiver 是所有连接中最简单、最常用的一种。Sender 是通道主动方,也是
消息发送方。
Requester/Server 也是常用的一种连接方式。Requester 是通道主动方,但通道连接
后,它作为消息接收方,Server 是消息发送方。
Server/Receiver 与 Sender/Receiver 类似,Server 是消息的发送方,也是连接的主动
方。与 Sender 定义类似,Server 定义中必须指定 CONNAME 参数。
Sender/Receiver 通道是最常见的通道配置方式, Sender 作为通道的发送方也是通道连接的主动发起方,Receiver 作为通道的接收方也是通道连接的被动监听方。在 Receiver 端要配置并运行相应的监听器。
配置示例
以下以Sender/Receiver 作为示例:
在以下的配置脚本中,通道连接两个队列管理器 QM1 和 QM2。其中,QM1为 Sender,
QM2 为 Receiver。在 QM1 上配置了远程队列 QR 和传输队列 QX,其中 QR 指向队列管理器 QM2 上的本地队列 QL,且 QR 与 QX 对应,即凡是要放入 QR 队列的消息,在加上传输消息头后直接放入 QX 中等待发送。QM1 上配置 Sender 通道需要指定对方的通信参数 (IP地址和端口),而这些参数必须与 QM2 上的监听器设置对应。Sender 通道与传输队列 QX 对应,表示凡是在 QX 中等待发送的消息最终都可以由该通道送出。双方通道必须同名。
在连接通道的时候,我们只需在 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的队列和通道创建脚本:
/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
创建qm1的队列和通道:
/var/mqm/sh$runmqsc QM1 < define_qm1.tst > out
查看out文件,确认没有错误;
定义qm2的队列和通道创建脚本:
/var/mqm/sh$vi define_qm2.tst
DEFINE QLOCAL (QL) REPLACE
DEFINE CHANNEL (C) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE
创建qm2的队列和通道:
/var/mqm/sh$runmqsc QM2 < define_qm2.tst > out
查看out文件,确认没有错误;
3.在qm2运行监听器
在qm2上运行监听器,监听连接和发报请求;
/opt/mqm/bin$runmqlsr -m QM2 -t tcp -p 1416
(停止监听器的命令:endmqlsr -m QM2)
4.运行通道
qm2的监听器不启动时,qm1上运行通道是无法启动的,因为无法建立起连接;
/opt/mqm/bin$runmqchl -c C -m QM1
或者通过mqsc来运行通道:
runmqsc QM1
start channel (C)
5.发送测试报文
/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一样,创建:
/var/mqm/sh$runmqsc QM3 < define_qm3.tst > out
运行监听器:
/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
MQ通道配置的更多相关文章
- IBM WebSphere MQ 通道类型配置
IBM WebSphere MQ 通道类型配置 初学MQ,四种常见通道,windows下操作 目录 Sender--Receiver Server-Receiver Server-Requester ...
- MQ安装配置
(1)执行接受许可脚本: ./mqlicense.sh –accept (2) 安装 WebSphere MQ for Linux 服务器: [root@localhost mq]# rpm ...
- EasyNVR无插件直播服务器软件使用详情功能-通道配置Excel
背景需求 使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过手动的通道配置来进行设备接入的,这样可以做到将设备的和通道对应的接入.但 ...
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案使用详情功能-通道配置Excel导入导出
使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过手动的通道配置来进行设备接入的,这样可以做到将设备的和通道对应的接入.但是,如果手 ...
- Cisco基础(一):Vlan的划分、配置trunk中继链路、以太通道配置、DHCP服务配置
一.Vlan的划分 目标: VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在 一个交换机或者跨交换机实现 ...
- 如何在SimpleNVR用Excel表格将通道配置简单化
进入本世纪的第三个十年,流媒体们"绞尽脑汁",依靠技术不断提升用户的体验感.熟悉SimpleNVR的用户都知道,目前SimpleNVR已实现对接自有流媒体服务器平台,不限制观看人数 ...
- MQ通道搭建以及连通性检查
场景:项目开发中使用的mq中间件一直不太熟悉,遇到问题就需要问人,公司的同事也不怎么爱搭理,弄的好受伤!不熟悉的时候只是感觉好难,逼的没办法,好好研究下,发现里面的过程也没想象中的难, 经过一番研究, ...
- 项目实战:Qt多通道数据采集系统(通道配置、电压转换、采样频率、通道补偿值、定时采集、导出exel和图表、自动XY轴、隐藏XY轴、实时隐藏显示通道)
需求 1.通道使能.选择.更改通道名称.设置显示颜色 2.采样率可设置(Sa/s/chj) 3.单位换算,按照给定的进行换算 4.对通道可进行设置补偿值 5.通道取消可动态显示和隐藏,并可 ...
- m.Tomcat使用openssl走APR通道配置单向和双向认证
引用自: http://blog.csdn.net/gtuu0123/article/details/5827800(Tomcat的SSL单向认证) http://blog.csdn.net/gtu ...
随机推荐
- 【清北学堂】 死亡(death)
M个位置可以打sif,N+1个人等着打sif,已知前N个人的时间,问第N+1个人什么时候才能打sif(不能插队,即必须按顺序来打sif) 输入N,M以及每个人所需要的时间:输出第N+1个人所需的时间 ...
- Oracle数据库坏块的恢复
模拟数据块坏块: 对于发生数据块不一致的数据块,如果当前数据库有备份且处于归档模式,那么就可以利用rman工具数据块恢复功能 对数据块进行恢复,这种方法最简单有效,而且可以在数据文件在线时进行,不会发 ...
- python字符串前面加r
在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '\' . 例如,\n 在raw string中,是两个字符,\和n ...
- SQL模仿Split 功能
--方法0:动态SQL法 declare @s varchar(100),@sql varchar(1000) set @s='1,2,3,4,5,6,7,8,9,10' set @sql='sele ...
- ccf模板生成
问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的.例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerr ...
- YUV与像素值之间的关系
一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147 ...
- Markdown常用语法
什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...
- canvas 拖拽实现
Canvas 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果图像 最适合图像密集型的游戏,其中的许多对象会被频繁重绘 SVG 不依赖分辨率 支持事件处理器 ...
- oracle中merge方法
先看SQL语句:merge into employee e using emps em on (e.emp_id=em.emp_id) when matched then update set e. ...
- MAC破解软件
作为一个iOS程序开发的工程师,我们需要的是那些辅助的利器 但是这些利器确实需要高价购买的 reveal系统层级关系 Charles网络抓包破解 蓝灯(FQ必备) 小黑冒(搜索必备) Cornerst ...