【问题标题】:IBM MQ get topic name from message in subscription queueIBM MQ 从订阅队列中的消息获取主题名称
【发布时间】:2017-06-15 22:56:36
【问题描述】:

我正在使用“c-client”api 访问Websphere IBM MQ 8。是否可以识别发布消息的源主题?

【问题讨论】:

    标签: c ibm-mq


    【解决方案1】:

    要查询主题字符串,请使用MQCRTMH API 调用获取消息句柄,然后使用指定MQTopicString 属性的MQINQMP API 调用查询消息的属性。

    MQCRTMH - Create message handle
    MQINQMP - Property Names
    Sample IBM MQ procedural programs

    诚然,在 IBM MQ 参考文档中跟踪此信息可能很困难,特别是如果您还不知道它的工作方式以及调用和字段的名称。一种可以提供帮助的方法是从示例程序开始以获得基本的理解,然后再回到手册中以填补缺失的细节。通过选择适当的可选组件,可以从安装媒体中获得示例代码。

    在 Windows 上,这些以 {MQM Home}/Tools 结尾,在 UNIX 系统上以 {MQM Home}/samp 结尾。如果安装了示例,AMQSIQMA 将演示如何查询消息句柄的属性,并且是使用MQINQMP API 调用的示例。

    【讨论】:

      【解决方案2】:

      要查询主题字符串,请使用 MQCRTMH API 调用来获取 消息句柄,然后使用 指定 MQTopicString 属性的 MQINQMP API 调用。

      正确的消息属性名称是“mqps.Top”(区分大小写且无引号)。

      【讨论】:

      • 当我运行示例程序amqsiqma时,属性名称输出看起来像这样property name <MQTopicString> value <X/Y/Z>,所以我认为T.Rob所拥有的是正确的。
      • 经过进一步审查,两者都是正确的。属性名称 MQTopicString 与 MQRFC2 名称 mqps.Top 相同。链接到的 MQINQMP 页面显示 MQINQMP accepts either the property name or MQRFH2 name as the name of the property to inquire on.
      猜你喜欢
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      相关资源
      最近更新 更多