IBM MQ简明教程

您所在的位置:网站首页 怎么远程发送信息 IBM MQ简明教程

IBM MQ简明教程

2023-10-30 17:04| 来源: 网络整理| 查看: 265

一. 创建队列管理器 通过以下命令,创建名为QMGR_02_BANK的队列管理器 crtmqm QMGR_02_BANK 通过输入以下命令来启动此队列管理器 strmqm QMGR_02_BANK

示例如下:

$ crtmqm QMGR_02_BANK IBM MQ queue manager created. Directory '/var/mqm/qmgrs/QMGR_02_BANK' created. The queue manager is associated with installation 'Installation1'. Creating or replacing default objects for queue manager 'QMGR_02_BANK'. Default objects statistics : 83 created. 0 replaced. 0 failed. Completing setup. Setup completed. $ strmqm QMGR_02_BANK The system resource RLIMIT_NOFILE is set at an unusually low level for IBM MQ. IBM MQ queue manager 'QMGR_02_BANK' starting. The queue manager is associated with installation 'Installation1'. 5 log records accessed on queue manager 'QMGR_02_BANK' during the log replay phase. Log replay for queue manager 'QMGR_02_BANK' complete. Transaction manager state recovered for queue manager 'QMGR_02_BANK'. IBM MQ queue manager 'QMGR_02_BANK' started using V9.1.1.0. $ 二. 创建本地队列 通过输入以下命令来启用 MQSC 命令 runmqsc QMGR_02_BANK 通过输入以下命令来定义名为 QM_02_BANK 的本地队列(传输队列) define qlocal (Q_TRAN_02_BANK) usage (xmitq)

此时会显示消息,告诉您已经创建了队列和缺省 IBM MQ 对象。

qlocal:队列名称 usage:队列用法,normal代表本地队列,xmitq代表传输队列

通过输入以下命令来定义远程队列定义 define qremote (Q1) rname (Q1) rqmname(QMGR_01_BANK) xmitq (Q_TRAN_02_BANK)

qremote:远程队列名称 rname:接收队列的名称 rqmname:接收队列所属的队列管理器名称 xmitq:传输队列管理器名称 注意:远程队列必须与接收队列名称完全一致,否则消息无法发送出去。

示例如下:

$ strmqm QMGR_02_BANK The system resource RLIMIT_NOFILE is set at an unusually low level for IBM MQ. IBM MQ queue manager 'QMGR_02_BANK' starting. The queue manager is associated with installation 'Installation1'. 5 log records accessed on queue manager 'QMGR_02_BANK' during the log replay phase. Log replay for queue manager 'QMGR_02_BANK' complete. Transaction manager state recovered for queue manager 'QMGR_02_BANK'. IBM MQ queue manager 'QMGR_02_BANK' started using V9.1.1.0. $ runmqsc QMGR_02_BANK 5724-H72 (C) Copyright IBM Corp. 1994, 2018. Starting MQSC for queue manager QMGR_02_BANK. define qlocal (Q_TRAN_02_BANK) usage (xmitq) 1 : define qlocal (Q_TRAN_02_BANK) usage (xmitq) AMQ8006I: IBM MQ queue created. define qremote (Q1) rname (Q1) rqmname(QMGR_01_BANK) xmitq (Q_TRAN_02_BANK) 2 : define qremote (Q1) rname (Q1) rqmname(QMGR_01_BANK) xmitq (Q_TRAN_02_BANK) AMQ8006I: IBM MQ queue created. end 3 : end 2 MQSC commands read. No commands have a syntax error. All valid MQSC commands were processed. $ 三、创建接收消息通道 在接收机器上打开命令提示符,然后按照以下步骤操作: 通过输入以下命令来启动 MQSC: runmqsc QMGR_01_BANK 通过输入以下命令来定义接收通道 define channel (CHL1) chltype (RCVR) trptype (TCP)

channel:通道名称 chltype:通道类型

RCVR:接收 SDR:发送

trptype:传输类型协议

打开新的命令窗口并查看哪些端口空闲。输入下列命令: netstat -an

这将显示正在运行的进程的列表。查看每个进程的端口号以了解端口 1414 是否正在使用中;您可以通过查看本地地址列来找到它。该信息采用 ip_address:port_being _used 格式提供。 如果端口 1414 未使用,那么稍后在验证时使用 1414 作为侦听器和发送方通道的端口号。如果它在使用中,那么选择未使用的备用端口;例如,如果 1415 未被另一进程使用,那么选择该端口。

验证要求您启动缺省的 IBM MQ 侦听器。缺省情况下,该侦听器将侦听端口 1414。如果在步骤 中发现端口 1414 空闲,那么不需要执行任何操作即可继续执行步骤,如果必须使用除 1414 之外的端口,那么修改 SYSTEM.DEFAULT.LISTENER.TCP 的定义。例如,要使用端口 8088,请在 MQSC 窗口中输入下列命令: alter listener(system.default.listener.tcp) trptype(tcp) port(8088) 在 MQSC 窗口中,通过输入以下命令来启动缺省 IBM MQ 侦听器 start listener(system.default.listener.tcp) 通过输入以下命令来停止 MQSC: end

将显示一些消息,然后会显示命令提示符。 示例如下:

$ runmqsc QMGR_01_BANK 5724-H72 (C) Copyright IBM Corp. 1994, 2018. Starting MQSC for queue manager QMGR_01_BANK. define channel (CHL1) chltype (RCVR) trptype (TCP) 1 : define channel (CHL1) chltype (RCVR) trptype (TCP) AMQ8014I: IBM MQ channel created. alter listener(system.default.listener.tcp) trptype(tcp) port(8088) 2 : alter listener(system.default.listener.tcp) trptype(tcp) port(8088) AMQ8623I: IBM MQ listener changed. start listener(system.default.listener.tcp) 3 : start listener(system.default.listener.tcp) AMQ8021I: Request to start IBM MQ listener accepted. end 4 : end 3 MQSC commands read. No commands have a syntax error. All valid MQSC commands were processed. $ 四、创建发送消息通道 在发送机器上打开命令提示符,然后按照以下步骤操作 通过输入以下命令来启动 MQSC: runmqsc QMGR_02_BANK 通过输入以下命令来定义发送方通道 define channel(CHL1) chltype(sdr) conname('127.0.0.1(8088)') xmitq(Q_TRAN_02_BANK) trptype(tcp)

xmitq:传输队列名称 con-name:接收方工作站的 TCP/IP 地址。值 port 是接收方机器上对其运行侦听器的端口,缺省值是 1414。 注意:发送通道必须与接收通道名称相同,否则消息无法发送。

通过输入以下命令来启动通道 start channel (CHL1) 通过输入以下命令来停止 MQSC end

示例如下:

$ runmqsc QMGR_02_BANK 5724-H72 (C) Copyright IBM Corp. 1994, 2018. Starting MQSC for queue manager QMGR_02_BANK. define channel(CHL1) chltype(sdr) conname('127.0.0.1(8088)') xmitq(Q_TRAN_02_BANK) trptype(tcp) 1 : define channel(CHL1) chltype(sdr) conname('127.0.0.1(8088)') xmitq(Q_TRAN_02_BANK) trptype(tcp) AMQ8014I: IBM MQ channel created. start channel (CHL1) 2 : start channel (CHL1) AMQ8018I: Start IBM MQ channel accepted. end 3 : end 2 MQSC commands read. No commands have a syntax error. All valid MQSC commands were processed. $ 五、查看发送通道状态 在发送机器上打开命令提示符,然后按照以下步骤操作 通过输入以下命令来启动 MQSC: runmqsc QMGR_02_BANK 通过输入以下命令查看发送通道状态 dis chs(*)

示例如下:

$ runmqsc QMGR_02_BANK 5724-H72 (C) Copyright IBM Corp. 1994, 2018. Starting MQSC for queue manager QMGR_02_BANK. dis chs(*) 1 : dis chs(*) AMQ8417I: Display Channel Status details. CHANNEL(CHL1) CHLTYPE(SDR) CONNAME(127.0.0.1(8088)) CURRENT RQMNAME(QMGR_01_BANK) STATUS(RUNNING) SUBSTATE(MQGET) XMITQ(Q_TRAN_02_BANK) end 2 : end One MQSC command read. No commands have a syntax error. All valid MQSC commands were processed. $ 六、查看接收通道状态 在发送机器上打开命令提示符,然后按照以下步骤操作 通过输入以下命令来启动 MQSC: runmqsc QMGR_01_BANK 通过输入以下命令查看发送通道状态 dis chs(*)

示例如下:

$ runmqsc QMGR_01_BANK 5724-H72 (C) Copyright IBM Corp. 1994, 2018. Starting MQSC for queue manager QMGR_01_BANK. dis chs(*) 1 : dis chs(*) AMQ8417I: Display Channel Status details. CHANNEL(CHL1) CHLTYPE(RCVR) CONNAME(127.0.0.1) CURRENT RQMNAME(QMGR_02_BANK) STATUS(RUNNING) SUBSTATE(RECEIVE) end 2 : end One MQSC command read. No commands have a syntax error. All valid MQSC commands were processed. $ 七、 使用 amqsput 将测试消息放入远程队列 启动 amqsput 样本程序 在 Linux 上,更改为 MQ_INSTALLATION_PATH/samp/bin 目录,其中 MQ_INSTALLATION_PATH 表示安装了 IBM MQ 的高级目录。输入以下命令: ./amqsput Q1 QMGR_02_BANK 在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息: Sample AMQSPUT0 end 示例如下: $ pwd /opt/mqm/samp/bin $ ./amqsput Q1 QMGR_02_BANK Sample AMQSPUT0 start target queue is Q1 Hello World! ni hao ma! Sample AMQSPUT0 end $ 八、 验证是否已发送测试消息 启动 amqsget 样本程序 在 Linux 上,更改为 MQ_INSTALLATION_PATH/samp/bin 目录,其中 MQ_INSTALLATION_PATH 表示安装了 IBM MQ 的高级目录。输入以下命令: ./amqsget Q1 QMGR_01_BANK

结果 此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在暂停 15 秒钟后,样本程序结束,并再次显示命令提示符。 示例如下:

$ pwd /opt/mqm/samp/bin $ ./amqsget Q1 QMGR_01_BANK Sample AMQSGET0 start message message no more messages Sample AMQSGET0 end $

参考 将消息发送至远程队列



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3