ibm-mq - 确定访问我们本地队列的远程 MQ 队列管理器
问题描述
我正在尝试编写一个脚本,当传递一个 MQ 队列名称时,该脚本将指示队列的“结束”,即谁将消息放在上面,谁将它们取下。
为了建立执行此操作的手动方法(在我自动化之前),我随机选择了一个 QLOCAL 并使用 CA-Sysview,我使用 MQROBJ 屏幕来查看我们的一个 CICS 区域将消息放在队列上,并且我们的 MQ CHIN 启动了任务从队列中获取消息。
但是我看不到消息的去向。由于这是一个 QLOCAL,但它是从它那里取出消息的 CHIN 作业,所以我假设一些远程队列管理器将此队列定义为 QREMOTE,并针对该队列发出 GET。
我们可以访问普通的 z/OS MQ 命令和 CA-Sysview
我可以建立远程队列管理器从队列中取出消息吗?
解决方案
为了确定队列使用图的任一端,请在您的 QLOCAL 上尝试以下命令。
DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ local-q-name)
并查找以下字段;APPLTYPE
, APPLTAG
, OPENOPTS
, CHANNEL
,CONNAME
OPENOPTS
您可以通过查看输出中的字段来判断应用程序是推杆还是吸气器。如果它说,MQOO_OUTPUT
那么它是一个推杆,如果它说,MQOO_INPUT_*
那么它是一个吸气剂。
如果应用程序的CHANNEL
名称已填写,则使用该队列的连接会进入通道。您必须前往描述的机器CONNAME
并从那里进一步调查。您应该能够通过使用通道名称来区分客户端应用程序和发送方/接收方通道。
如果您正在通过发送方/接收方通道跟踪路径,那么在远程计算机上您必须查看 QREMOTE 定义。尝试如下命令:-
DISPLAY QREMOTE(*) ALL WHERE(RNAME EQ local-q-name)
推荐阅读
- android - Android 连接到 Azure 数据库
- azure - 尽管遵循了多个在线帖子中的故障排除技术,但仍无法 RDP 到 Azure VM
- html - 为什么当我将鼠标悬停在按钮上时它不起作用?
- node.js - 启动开发服务器...编译时出现警告。在 Windows 10 上,MERN 堆栈,适用于 Windows 的 GIT Bash
- ios - URL(fileURLWithPath: Bundle.main.path(forResource: "ports", ofType: "geojson")!) 为零?
- c# - 如何在.net核心中传递unc凭证
- c - 为什么 b 的值是 100?
- php - 在一个查询中查询 2 个数据库
- mysql - 布尔模式下的 MySQL FullText:搜索包含“+”作为字符串一部分的关键字
- javascript - 与 jQuery 同步并使用向上/向下箭头键时,滑块(输入范围)和组合框(选择)之间的奇怪交互