我在执行组的 MB 中有一个已部署的 bar 文件。现在我想找出代理流从中获取输入的输入队列名称。
平台:AIX
mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -d AllMessageFlows -r
其中:BROKER_NAME 是您的代理(< 版本 9)/集成节点(>= 版本 9)的名称,EXECUTION_GROUP_NAME 是您的执行组(< 版本 9)/集成服务器(>= 版本 9)的名称。
这将列出与所有消息流相关联的所有属性,包括部署到 EG 和应用程序(>= 版本 8)中。
要找到您感兴趣的队列名称,我建议将输出重定向到文件并使用 vi 或 sed 等来搜索字符串“queueName”(区分大小写)。
例如: mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -d AllMessageFlows -r | grep 队列名称
您将得到不止一行包含“queueName”的信息。有些是您不需要担心的内部队列,有些是您已部署的流中的队列。为了知道你想要哪一个,你需要检查输出。
输出首先列出直接在执行组上的消息流,然后是应用程序。在标签“Application”下,您将找到标签“MessageFlow”,然后是 MQ Input 节点的标签,即“ComIbmMQInputNode”。在此之下,您将找到带有您正在寻找的值的“queueName”参数,例如 queueName='INPUT_QUEUE_NAME'。如果您有多个应用程序,则必须找到您要查找的应用程序,每个应用程序下都有一个“标签”参数,即其名称。消息流也是如此。
我希望您能够从您的 Windows 机器连接到远程代理。您可以通过 MB 资源管理器查看消息流使用的队列。如果您安装了MB 资源管理器,则只需配置您的代理并单击您的流程。它将在 MQ 资源管理器内容中显示“使用的队列”。
或者,如果您没有 MB 资源管理器,您也可以使用CMP API Excerciser工具(位于您的 MB 安装目录中名为 samples 的文件夹下)。
此外,正如 CMP excerciser 所做的那样,您可以使用 MB API 编写一个简单的 java 应用程序,并通过您的消息流对象调用getQueues()函数。
我不确定是否有直接的 unix 命令可用于此目的。