[英]How to set message expiry in WebSphere MQ (queue) by Java code ( not by JMS API - time to Live )
[英]How to retrieve properties set by a JMS producer through Websphere MQ API?
我们正在尝试使用 Websphere MQ API 检索我们在消息中填充的 JMS 标头。
现在我正在使用 mq-all-client jars 来建立与 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"));
好吧,那个“特定的”命名属性不存在。 不要忘记,属性关键字区分大小写。
为什么不转储消息的所有命名属性并准确查看消息中的哪些属性?
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));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.