【发布时间】:2020-08-20 23:26:26
【问题描述】:
我一直在尝试通过提供不带队列管理器名称的服务器详细信息来查找 IBM MQ Server 中的所有队列管理器。
想法是:
- 我有一个包含服务器详细信息的属性文件 - 主机、端口号、通道、用户 ID、密码。
- 通过使用此信息,我们需要连接到服务器并找到服务器中所有可用的队列管理器。
- 我需要在 java 中使用 IBM MQ 类。
既然我们有办法找到队列管理器中的所有队列,我们可以用类似的方法找到所有队列管理器吗?
【问题讨论】:
-
每个队列名称都有自己的监听器,不会知道其他队列管理器。您可以查看 webui 和可能的 REST 接口,这是每台服务器一个,并且可以查看所有队列管理器。
-
@Thirumal Reddy 您的服务器可以托管多个 IBM MQ 安装,并且每个安装都可以是不同的版本。一个安装可以支持一个或多个队列管理器,正如 JoshMc 所说,每个 QM 都可以定义侦听器。此doc 概述了基本的 MQ 概念和对象,以帮助您入门。您是在尝试发现主机上定义的队列管理器还是只是连接到已知列表?端口号可能特定于队列管理器。
-
@richc 我正在尝试查找主机上定义的队列管理器,根据结果,我需要在每个 QM 中查找队列。
-
@Thirumal Reddy 你看过
dspmqinst命令documented here 吗?如果您有多版本安装,这将显示服务器上的 IBM MQ 安装。根据结果,应该可以设置您的环境并按照马克的回答中的方法列出每次安装的队列管理器。您可以运行一些MQSC来显示每个队列管理器的侦听器,例如,runmqsc QM1然后DISPLAY LISTENER(*)以显示所有侦听器,然后检查每个侦听器的PORT。
标签: java spring-boot ibm-mq