IBM MQ消息队列的创建与使用
简介及特点
消息队列(Message Queue,MQ)是一种应用程序对应用程序的通信方法,通过将消息放入队列中,应用程序可以在不同时间读取或处理这些消息,而无需建立专用连接,IBM WebSphere MQ是其中一种广泛应用的消息队列产品,具有高可靠性、异步通信、解耦、冗余、扩展性、过载保护、可恢复性和顺序保证等特点。
核心概念与对象
1、队列管理器:管理多个队列的基本单位,每个队列必须属于一个队列管理器。
2、本地队列:位于同一队列管理器中的队列,可以是传输队列、死信队列等。
3、远程队列:位于不同队列管理器中的队列,用于跨队列管理器的消息传递。
4、通道:定义在两个队列管理器之间,用于消息传输的路径。
5、消息:实际传输的数据单元,包含消息标识号和参考号用于交易确认。
创建与配置过程
1、接收方配置
创建队列管理器:crtmqm QM_APPLE
启动队列管理器:strmqm QM_APPLE
启动MQSC:runmqsc QM_APPLE
创建本地队列:define qlocal (Q1)
定义接收方通道:define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)
修改缺省监听器:alter listener(system.default.listener.tcp) trptype(tcp) port(1414)
启动监听器:start listener(system.default.listener.tcp)
关闭MQSC:end
2、发送方配置
创建队列管理器:crtmqm QM_ORANGE
启动队列管理器:strmqm QM_ORANGE
启动MQSC:runmqsc QM_ORANGE
创建本地传输队列:define qlocal (QM_APPLE) usage (xmitq)
创建远程队列:define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)
定义发送方通道:define channel(QM_ORANGE.QM_APPLE) chltype(sdr) conname('192.168.137.2(1414)') xmitq(QM_APPLE) trptype(tcp)
启动发送方通道:start channel (QM_ORANGE.QM_APPLE)
关闭MQSC:end
3、进行测试
发送消息:amqsput Q1 QM_ORANGE
接收消息:amqsget Q1 QM_APPLE
注意事项:如果先进行发送方机器配置,则可能出现接收方机器接收不到消息的情况,需要手动重新启动发送方通道或等待一段时间。
FAQs
1、为什么发送方通道启动时,接收方可能会接收不到消息?
解答:这是因为发送方通道启动时,如果接收方通道还不存在,会导致发送方通道一直在重连而又还没连接上时进行了消息的发送,解决方法是手动在发送方机器上重新启动发送方通道或等待一段时间。
2、如何在IBM MQ中创建本地和远程队列?
解答:在IBM MQ中,可以通过以下步骤创建本地和远程队列:
本地队列:使用命令define qlocal (队列名称)
来创建本地队列。
远程队列:使用命令define qremote (远程队列名称) rname (要连接的队列) rqmname(要连接的队列管理器) xmitq (使用的传输队列)
来创建远程队列。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1221879.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复