ibm-mq - 确定远程 MQ 队列管理器访问我们的本地队列

标签 ibm-mq mainframe zos

我正在尝试编写一个脚本,当传递 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)

并查找以下字段; APPLTYPEAPPLTAGOPENOPTSCHANNELCONNAME

您可以通过查看输出中的 OPENOPTS 字段来判断应用程序是 putter 还是 getter。如果显示MQOO_OUTPUT,则它是推杆,如果显示MQOO_INPUT_*,则它是 setter/getter 。

如果应用程序填写了 CHANNEL 名称,则使用该队列的连接来自某个 channel 。您必须转到 CONNAME 描述的机器并从那里进一步调查。您应该能够通过使用 channel 名称来区分客户端应用程序和发送方/接收方 channel 之间的区别。

如果您正在跟踪发送方/接收方 channel 上的路径,则必须在远程计算机上查看 QREMOTE 定义。尝试使用如下命令:-

DISPLAY QREMOTE(*) ALL WHERE(RNAME EQ local-q-name)

关于ibm-mq - 确定远程 MQ 队列管理器访问我们的本地队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53957355/

相关文章:

panel - ISPF 面板 REXX 中是否提供 ISPEXEC 服务?

ibm-mq - Websphere MQ-如何查找通过队列管理器的消息总数

java - 从 Java 使用 IBM MQ

ibm-mq - 哪个是连接大型机和 java 的经过验证的解决方案? MQ系列/IBM CICS Transaction Gateway哪个最好?

Spring-JMS(Websphere MQ)

cobol - 当前显示的是哪张 map ?

cobol - Signed Comp-3 Data COBOL 中的 DISPLAY 显示意外输出

zos - 如何在我们的 z/OS Connect 服务器上启用分布式跟踪(基于 WebSphere liberty Profile 和 open-liberty)?

associative-array - 有没有办法在 REXX 中做关联数组?

db2 - 如何在多列上选择不同的计数?