【发布时间】:2026-01-03 06:30:01
【问题描述】:
我正在尝试在我的系统从入站队列收到的消息上设置记帐令牌。我正在使用以下设置此令牌。
msg.setObjectProperty(JmsConstants.JMS_IBM_MQMD_ACCOUNTINGTOKEN,value)
我的 JmsSUpport 类中还有以下属性
((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_READ_ENABLED, true);
((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_WRITE_ENABLED, true);
((MQDestination) dest).setMQMDWriteEnabled(true);
((MQDestination) dest).setMQMDReadEnabled(true);
((MQDestination) dest).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ);
由于出站队列是 MQDestination,我必须设置上述属性。现在我观察到我正确设置了出站消息的值。但是当其他应用程序从 MQ 读取消息时,它具有会计令牌的默认值。这可能是因为 MQ 以这种方式配置来覆盖该值吗?还是因为其他应用程序没有正确读取 MQ 消息?还是我应该使用任何其他属性来启用会计令牌?
是不是因为我在设置 ((MQDestination) dest).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ);味精被剥夺了 MQMD 标头?
【问题讨论】: