gpt4 book ai didi

ibm-mq - 通过 SYSTEM.ADMIN.COMMAND.EVENT 运行 MQSC 命令

转载 作者:行者123 更新时间:2023-12-02 06:56:35 24 4
gpt4 key购买 nike

我已经通过 Windows 上的 MQ Explorer 远程连接到 QMgr。 MQ服务器版本为7.5.0.1。我可以从 MQ 资源管理器成功地将消息放入 SYSTEM.ADMIN.COMMAND.EVENT 中,当我转储 SYSTEM.ADMIN.COMMAND.EVENT 时,我可以看到我的消息。据我所知,我应该可以通过这个 channel 运行 PCF 命令和 MQSC 命令。因此,我将 DISPLAY QMGR ALL 消息放入此队列中,我可以在 MQ 服务器上成功看到此消息。我的问题是如何通过此 channel 远程运行此消息?谢谢。

enter image description here

IBM Doc 指示我应该能够在 SYSTEM.MQSC.REPLY.QUEUE 中接收命令结果。但我无法从客户端 MQ Explorer 浏览此队列。此队列的队列类型是 Model

最佳答案

这里有几个问题。

首先,您使用了错误的队列。命令服务器监听 SYSTEM.ADMIN.COMMAND.QUEUE。您要向其发送消息的队列 SYSTEM.ADMIN.COMMAND.EVENT 是 QMgr 在执行命令后将事件消息放入的队列,当然前提是命令事件已启用。

第二个问题,正如 Jason 提到的那样,runmqsc 处理器采用人类可读的脚本并将其转换为 QMgr 可以理解的命令。将文本命令直接传递到命令服务器是行不通的。

通常我们通过将命令直接传递给 runmqsc 来执行您想要的操作,例如...

echo DISPLAY QMGR ALL | runmqsc MYQMGRNAME

如果您需要作为客户端执行此操作的能力,那么您想要下载 SupportPac MO72 ,或前往 MQ Gem 并获取 MQSCX 的副本.它们中的任何一个都将在本地队列管理器上接受上述命令,并且都可以提供 MQ channel 参数并连接到远程 QMgr。

除了这一基本功能外,MQSCX 产品还拥有自己的内部脚本解析和执行功能。例如,假设您想根据 QMgr 的命令级别执行某些操作。

使用 runmqsc,您可以发出上面的命令,通过 grepawk 或类似方式过滤生成的 2 列输出,然后捕获最终输出到一个变量中。您可能需要多次执行此操作以捕获多个值,每次调用新的 runmqsc 并在脚本中解析输出。然后,您必须为开始所有这些操作时要运行的实际命令生成字符串,并将其传递给 runmqsc 的另一次调用。

或者,MQSCX 允许您发出 DISPLAY 命令,然后通过名称直接引用结果值。例如,您可以向 MQSCX 传递几行脚本,告诉它查询 QMgr,然后根据命令版本采取有条件的操作,所有这些都无需返回到 shell、bat 或 Perl 脚本。

完全公开,我不为 MQ Gem 工作或从中收取佣金。我只是不喜欢用头撞墙写 100 行代码,而 2 行代码就可以了。如果您执行任何数量的 MQSC 脚本,MQSCX 上的投资返回率以分钟为单位。作为对这个问题的回答,它恰好 100% 切合主题。

关于ibm-mq - 通过 SYSTEM.ADMIN.COMMAND.EVENT 运行 MQSC 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30165728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com