IBM WebSphere MQ安装及配置详解
打开MQ安装程序,选择下一步,默认安装WebSphere MQ,


完成MQ的安装工作,启动WebSphere MQ,


服务器配置,选择新建队列管理器,创建名为 "mq"的队列管理器,其他选项默认不变,点"下一步"


允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步",完成MQ队列管理器的创建。

新建本地队列,在mq下创建名为"MQ_send"的本地队列(用户可以根据自己的需求更改本地队列的名字和数量),其他选项默认即可。


在 mq下创建名为"MQ_CHL"的服务器通道,其他选项默认即可。


在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。例如:我的MQ客户端所在的计算机用户名为Administrator,则在服务器端系统中添加名为"Administrator"的用户。具体步骤如下:
<1>点击 "开始"->"控制面板"->"管理工具"->"计算机管理"->"本地用户和组"->"用户",选择Administrator点右键,打开属性面板,选择“隶属于”把mqmt添加进去。如下图所示:
(如果客户端计算机使用的其他的用户名,在服务器端新建一个用户名,同样操作,把用户名添加隶属于mqm组里面)


注意:客户端连接MQ服务出现2035错误MQRC_NOT_AUTHORIZED

找到mq的安装目录下的bin目录,在cmd环境下执行命令runmqsc 然后执行命令 alter qmgr chlauth(disabled) 把权限验证下掉就可以了,如下图所示:

MQ常用命令:
登录MQI,一般是cd到MQ安装目录下bin,然后切换mqm账户,mqm账户是mq默认的管理员账户。可以使用命令dspmq 查看队列管理器机器状态,若服务未启动,可使用strmqm命令启动服务(注:队列管理器名称是分区大小写的),然后执行runmqsc 队列管理器,即可登录到MQI。
查询CCSID可以使用命令:display qmgr,查看ccsid属性即可。
查询Listener监听端口,可使用DISPLAY LSSTATUS(*) ALL。查看port属性即可。
--查看MQ版本--
dspmqver
--查看队列状态--
dspmq--创建队列管理器--
crtmqm -q ECIS_QM--删除队列管理器--
dltmqm ECIS_QM--启动队列管理器--
strmqm ECIS_QM--关闭队列管理器--
endmqm -i ECIS_QM 立即停止
endmqm -p ECIS_QM 强制停止--运行队列管理器--
runmqsc ECIS_QM--定义监听器--
DEFINE LISTENER(LSR_4_ECIS_QM) TRPTYPE(TCP) PORT(1616) CONTROL(QMGR) REPLACE
START LISTENER(LSR_4_ECIS_QM)--定义通道--
DEFINE CHANNEL(ECIS.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm') REPLACE--启动通道--
runmqchl –c ChlName –m ECIS_QM--启动侦听--
runmqlsr –t TCP –p 1616 –m ECIS_QM
endmqlsr -m ECIS_QM--定义队列--
DEFINE QL(Q_SVC2ADP_4_TELNET) REPLACE
DEFINE QL(Q_SVC2ADP_4_JDBC) REPLACE
DEFINE QL(Q_SVC2ADP_4_HTTP) REPLACE
DEFINE QL(Q_SVC2ADP_4_SOCKET) REPLACE--删除队列--
delete QL(Q_SVC2ADP_4_TELNET)--查看监听器--
display listener (LSR_4_ECIS_QM)--查看通道--
dis chs(*)--查看通道--
display ql(*) [all]--查看队列深度--
display ql(Q_SVC2ADP_4_HTTP) curdepth--清除队列消息--
clear ql(Q_SVC2ADP_4_HTTP)--查看CCSID--
display qmgr all--修改CCSID--
ALTER QMGR [FORCE] CCSID(5488)逻辑定义
##################################################
./JMSAdminDELETE QCF(T_ECIS_QCF)
DELETE Q(T_ECIS_Q_SVC2ADP_TELNET)
DELETE Q(T_ECIS_Q_ADP2SVC_TELNET)
DELETE Q(T_ECIS_Q_SVC2ADP_JDBC)
DELETE Q(T_ECIS_Q_ADP2SVC_JDBC)DELETE Q(T_ECIS_Q_SVC2ADP_HTTP)
DELETE Q(T_ECIS_Q_ADP2SVC_HTTP)
DELETE Q(T_ECIS_Q_SVC2ADP_SOCKET)
DELETE Q(T_ECIS_Q_ADP2SVC_SOCKET)DEFINE QCF(T_ECIS_QCF) DESC() TRAN(CLIENT) HOST(10.151.128.13) QMGR(T_ECIS_QM) CHAN(T_ECIS.SVRCONN) PORT(2626) CCSID(5488)
DEFINE Q(T_ECIS_Q_SVC2ADP_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_TELNET) CCSID(5488)
DEFINE Q(T_ECIS_Q_ADP2SVC_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_TELNET) CCSID(5488)
DEFINE Q(T_ECIS_Q_SVC2ADP_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_JDBC) CCSID(5488)
DEFINE Q(T_ECIS_Q_ADP2SVC_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_JDBC) CCSID(5488)DEFINE Q(T_ECIS_Q_SVC2ADP_HTTP) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_HTTP) CCSID(5488)
DEFINE Q(T_ECIS_Q_ADP2SVC_HTTP) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_HTTP) CCSID(5488)
DEFINE Q(T_ECIS_Q_SVC2ADP_SOCKET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_SOCKET) CCSID(5488)
DEFINE Q(T_ECIS_Q_ADP2SVC_SOCKET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_SOCKET) CCSID(5488)WebSphere MQ常用命令及配置
##################################################
//创建本地队列Q
DEFINE QLOCAL (Q)
//将本地队列Q 的最大深度设置为5
ALTER QLOCAL (Q) MAXDEPTH(5)
//重新创建本地队列Q 如果Q已经存在,则将其全部属性重置为缺省属性
DEFINE QLOCAL (Q) REPLACE
//创建远程队列
DEFINE QREMOTE(QRNAME) RNAME(AAA) RQMNAME(QMGRNAME) XMITQ(QTNAME)
//创建传输队列
define qlocal(CLV_HQ_TRAN) usage(xmitq) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(REV_CLV) TRIGTYPE(EVERY) TRIGGER REPLACE
//创建接收端通道C
DEFINE CHANNEL(C) CHLTYPE(RCVR)
//创建发送方通道C ,连接对方的IP为10.10.10.10 端口为1414 通道连接的传输队列为XQ
DEFINE CHANNEL(C) CHLTYPE(SDR) CONNAME(’10.10.10.10 (1414)’) XMITQ(XQ)
//创建请求方通道
DEFINE CHANNEL(D) CHLTYPE(RQSTR) CONNAME(’10.10.10.10 (1414)’)
//创建服务器通道
DEFINE CHANNEL (D) CHLTYPE(SVR) xmitq (XQ1)
//创建服务器连接通道
DEFINE CHANNEL(E) CHLTYPE(SVRCONN) REPLACE//显示所有远程队列
display qremote (*)
//显示所有通道
Display channel (*)//定义死信队列
DEFINE QLOCAL(QUEUE) DEFPSIST(YES) REPLACE//设定队列管理器的死信队列
ALTER QMGR DEADQ(QUEUE)设置MaxChannels和MaxActiveChannels属性(最大连接数)
##################################################
MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。
在unix平台,修改qm.ini文件,添加如下所示(路径:/var/mqm/qmgrs/HQ_SVR):
Channels:
MaxChannels = 3000 (最大通道数)
MaxActiveChannels = 3000 (最大活动通道数)
PipeLineLength=2
AdoptNewMCA=ALL
然后重启MQ//定义持久性队列:
DEFINE QLOCAL(QNAME) DEFPSIST (YES) REPLACE传输队列管理
##################################################
1:定义传输队列
DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ)
注:
Q_TRANSFER:传输队列名下面定义一个输入队列并带触发器
DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ) DEFPSIST(YES) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(DP_RCHANNEL) REPLACE
注:
参数1:传输队列名称(Q_TRANSFER)
参数5:触发器数据(DP_RCHANNEL),也就是触发后要启动的通道。2:在传输入队列上定义触发器
DPCIS_Q_TRANSFER:传输队列
触发器数据:DP_RCHANNEL,即:发送通道,触发时启动该通道
alter qlocal(DPCIS_Q_TRANSFER) TRIGDATA('DP_RCHANNEL') TRIGTYPE(every) TRIGGER initq('SYSTEM.CHANNEL.INITQ')远程队列管理
##################################################
通过输入以下命令来定义远程队列定义:
define qremote(Q1) rname(Q1) rqmname(QM_APPLE) xmitq(QM_APPLE)
注:
参数1:队列名称(发送方远程队列名)
参数2:远程队列(接收方的本地接收队列名)
参数3:远程队列管理器(接收方队列管理器名)
参数4:传输队列(发送方传输队列名)通道管理
##################################################
1:创建接收方通道
DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE
define channel(Q_R_CHANNEL2) chltype(RCVR) replace
注:
参数1:接收方通道名称
replace:表示有该通道了替换2:创建发送方通道
DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR) CONNAME (‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE
其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。define channel(DP_RCHANNEL) chltype(SDR) conname('10.101.2.3 (1414)') xmitq(Q_TRANSFER) replace
注:
通道名称:DP_RCHANNEL (发送方通道的名称)
传输队列:Q_TRANSFER (发送方传输队列的名称)3:启动通道
start channel(QM_ORANGE.QM_APPLE)4:查看通道状态
dis chs(*)侦听器管理
##################################################
1:定义侦听器
DEFINE LISTENER(TCPLS1) TRPTYPE(TCP) PORT(1414) REPLACE2:启动侦听器
start listener(TCPLS1)
3:显示侦听器信息
display listener(tcpls1)创建触发
##################################################
一般设置MQ触发器的目的有两种, 一是自动启动发送端通道, 二是监视队列消息, 一旦发现新的消息, 则利用触发器启动相应的处理进程
如果是利用触发器自动启动发送端通道, 使用方法1, 如果是利用触发器启动用户进程, 使用方法2方法1
A 在传输通道上设置触发器, 打开触发器控制, 类型为"第一个"
B 初始队列为SYSTEM.CHANNEL.INITQ, 该队列为MQ专用的通道启动队列, 不需要手工启动其触发监视器
C 触发器数据为发送端通道名称, 例如 QAG.50
D 在发送端通道不活动的情况下, 在传输通道放入消息测试方法2
A 创建一个触发启动队列, 其模板为SYSTEM.DEFAULT.INITIATION.QUEUE
runmqsc
define qlocal (MQ.TRIGER.INIQUEUE) like (SYSTEM.DEFAULT.INITIATION.QUEUE)
B 定义进程 所谓进程就是触发器要触发的程序本例中进程名称:TRIGER.PROGRAM 应用程序标识为:"Notepad.exe"
C 在队列上设置触发器, 一般为本地队列, 打开触发器控制, 类型根据自己的需要选择"第一个", "每个" 还是 "根据消息数量"
D 初始队列选择A中创建的触发启动队列, 例如MQ.TRIGER.INIQUEUE, 进程名称设置为B中定义的进程名称, 例如TRIGER.PROGRAM
E 启动触发监视器 runmqtrm -m QAGWY -q MQ.TRIGER.INIQUEUE
F 在本地队列放入消息进行测试方法2也可以完成方法1的工作, 只需要将进程定义中的应用程序标识改为 runmqchl -m QAGWY -c QAG.50 就可以了, 但MQ中提供了专用的通道启动队列,
而该队列不需要手工启动触发监视器, 因此方法1比方法2的步骤要少, 配置也简单, 所以在利用触发器自动启动发送端通道的情况下, 还是方法1更好.
IBM WebSphere MQ安装及配置详解的更多相关文章
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- IBM WebSphere MQ 通道类型配置
IBM WebSphere MQ 通道类型配置 初学MQ,四种常见通道,windows下操作 目录 Sender--Receiver Server-Receiver Server-Requester ...
- Nginx安装及配置详解【转】
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
Nginx安装及配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...
- nginx在linux上的安装与配置详解(一)
Nginx的安装与配置详解 (1)nginx简介 nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...
- Linux中Nginx安装与配置详解
转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...
- Tomcat安装及配置详解
Tomcat安装及配置详解 一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Found ...
- OpenVPN CentOS7 安装部署配置详解
一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...
- Linux NFS服务器的安装与配置详解
一.NFS服务简介 NFS是Network File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端一般是应用服务器(比如web,负载均衡等),可 ...
随机推荐
- 托管调试助手 "PInvokeStackImbalance":的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管
在C#中一定要检查引用时的数据类型 WinAPI 的数据类型 默认是32位的,但是引用时外部的是 Long类型默认是64位的.所以引用时需要将 long 改为 int 型. 参照 http://blo ...
- 排序工作量之新任务(SHOI2001)
排序工作量之新任务(SHOI2001) 给出两个整数n和t,求n的全排列中逆序对数为t的个数,和逆序对数为t的字典序最小全排列. 首先第一个问题可以用dp解决,\(f[i][j]\)表示前i个数,j个 ...
- 洛谷P1342 请柬
P1342 请柬 题目描述 在电视时代,没有多少人观看戏剧表演.Malidinesia古董喜剧演员意识到这一事实,他们想宣传剧院,尤其是古色古香的喜剧片.他们已经打印请帖和所有必要的信息和计划.许多学 ...
- 今天实现一个T-sql的小编程,分享给大家,看看就好~(列值赋值)
介绍:将一个表的某列值插入到另一个表的列里,暂定为表aa和表nn DECLARE @a int set @a=1 while @a<nn.列1.length --(注:语法不对你可以用查询 ...
- ch8 -- directMethod
稀疏直接法 主要用的g2o的方法.自己定义了一个新的一元边.边的误差项是测量值和由估计得来的x,y对应的灰度值之间的误差.导数为灰度对像素坐标的导数乘以像素坐标对yi*李代数的导数的负数.灰度对于像素 ...
- ch8 -- useLK
useLK 光流法跟踪FAST角点 执行 ./useLK ../../data 运行程序. 光流法需要include<opencv2/video/tracking.hpp>,用到列表 ...
- RabbitMQ基础概念及使用
RabbitMQ RabbitMQ是什么? RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.MQ全称为Message Q ...
- django 请求生命周期
详细例子:
- vim 编辑器设置tab缩进
创建 ~/.vimrc文件,写入 set tabstop=4 ,保存 原文
- linux目录权限
linux中,有三种不同类型的用户可以对文件或目录进行访问:文件所有者,同组用户,其他用户.所有者一般是文件的创建者,文件所有者自动拥有对该文件的读.写和可执行权限.所有者能允许同组用户有权访问文件, ...