如何在JMSMessage中设置JMS_IBM_MQMD_ACCOUNTINGTOKEN

时间:2014-06-09 13:25:28

标签: java jms ibm-mq

处理完消息后,我需要在消息上设置记帐令牌。如何在出站邮件中设置它。我尝试了以下内容并且无法正常工作

msg.setObjectProperty(JmsConstants.JMS_IBM_MQMD_ACCOUNTINGTOKEN,value)

其中value set是byte []。但是当我观察到消息时,AccountingToken没有被设置。

这里有什么我想念的吗?

2 个答案:

答案 0 :(得分:1)

经过进一步分析后,我发现没有设置的原因是因为未设置以下属性。

((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_WRITE_ENABLED, true);   

设置上述值后,会计令牌可用。

答案 1 :(得分:0)

来自IBM Knowledge Center

  

对于某些属性,还必须设置WMQ_MQMD_MESSAGE_CONTEXT   Destination对象上的属性。 (...)
  以下属性需要将WMQ_MQMD_MESSAGE_CONTEXT设置为   WMQ_MDCTX_SET_IDENTITY_CONTEXT或WMQ_MDCTX_SET_ALL_CONTEXT:

JMS_IBM_MQMD_UserIdentifier
JMS_IBM_MQMD_AccountingToken
JMS_IBM_MQMD_ApplIdentityData