Я пытаюсь установить токен учета в сообщении, которое моя система получила из входящей очереди. Я устанавливаю этот токен, используя следующее.
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?