如何通过 Websphere MQ API 检索 JMS 生产者设置的属性?

How to retrieve properties set by a JMS producer through Websphere MQ API?

我们正在尝试检索我们使用 Websphere MQ API 填充到消息中的 JMS Headers。

现在我正在使用 mq-all-client jar 来建立与 queueManagers 的连接。

getOptions.options = CMQC.MQGMO_NO_WAIT + CMQC.MQGMO_FAIL_IF_QUIESCING + CMQC.MQGMO_CONVERT;

我尝试通过 :

检索 JMS 属性
MQMessage message = new MQMessage();
queue.get(message, getOptions);
logger.info(message.getStringProperty("My_PROPERTY"));

我得到一个 null 。 有没有一种方法可以通过 MQ-allclients jar 建立连接并仍然检索消息上设置的 JMS 属性? 我可以通过 JMS 使用者检索属性,但我想通过 MQ API 获取它。

logger.info(message.getStringProperty("My_PROPERTY"));

嗯,那个名为 属性 的 'particular' 不存在。不要忘记,属性 关键字区分大小写。

为什么不转储邮件的所有命名属性并查看邮件中到底有哪些?

String propName;
Enumeration<String> props = msg.getPropertyNames("%");
if (props != null)
{
   while (props.hasMoreElements())
   {
      propName = props.nextElement();
      System.out.println("---> propName="+propName+" : " + "value="+msg.getObjectProperty(propName));
   }
}