Есть ли способ получить идентификатор корреляции / идентификатор сообщения и сохранить его в переменной? Я хочу поместить его в переменную и сохранить в базе данных.
Я думаю об использовании MQMD.
MQMD * мкр .;
std :: string corid = md-> CorrelId;
Код выше не работает.
Пожалуйста, помогите мне с этим. Кстати, я использую Websphere MQ для C ++.
Спасибо! 🙂
MessageID, CorrelID и GroupID являются байтовыми массивами. Следовательно, они не могут быть назначены так, как вы пытаетесь. Вместо этого сделайте следующее, чтобы получить messageID. Вы можете попробовать аналогичным образом для CorrelationID и GroupID.
if ( queue.get( msg, gmo ) )
{
// Get the message id
char byMessageId[24];
ImqBinary msglId = msg.messageId();
// Copy the message to a buffer.
msglId.copyOut(byMessageId,24);
}
Надеюсь, это помогло.