MQ

IBM MQ

August 10, 2020
MQ

IBM MQ 架构 IBM WebSphere MQ 架构: IBM WheSphere MQ 特性: 支持事务 具有特殊的技术防止消息重复传送,确保消息一次且仅一次传递 概念 消息 队列 本地队列:位于本地物理磁盘 远程队列:本地应用程序只能往里面放消息,不能直接读消息。只能从本地队列读取消息 传输队列:临时存储将要发送到远程队列的消息 启动队列:触发中使用的队列,触发器触发事件时,将触发器消息发送到启动队列 死信队列:存储无法正确发送到目的地的消息的队列 通道 通道:提供从一个队列管理器到另外一个队列管理器的通信路径 通道如何使用: MQSC MQSC 是用来管理队列管理器等对象的脚本命令,可以使用 runmqsc 向队列管理器发出 MQSC 命令。 MQSC 的官方命令文档:The MQSC Commands MQSC 的一些规则: 关键字不区分大小写:ALTER、alter、AlteR 都是一样的 很多命令都有同义词:例如 DEFINE CHANNEL 可以写为 def chl 用单引号引用的字符串,IBM MQ 不做转换处理 每条命令必须以新行开始 Control Commands Control Commands 的官方文档:The control commands 发送消息步骤 发送消息前,需要启动队列管理器、启动监听器(监听在某个端口)。 为了把消息从一个队列管理器发送到另一个队列管理器,您需要定义两个通道;一个是在源队列管理器(指明传输队列名、目标系统的IP:PORT),另一个是在目标队列管理器。 为把消息从一个队列管理器发送到另一个队列管理器,您需要定义六个队列;在源队列管理器需要定义四个(远程队列、启动队列、传输队列、死信队列-推荐),目标队列管理器要定义两个(本地队列、死信队列-推荐)。 编程接口 Queue Manager // declare an object of type queue manager MQQueueManager queueManager = new MQQueueManager(); MQQueueManager queueManager = new MQQueueManager("qMgrName"); . ...