ibm mq — получить идентификатор CorId / Msg в переполнении стека Websphere MQ

Есть ли способ получить идентификатор корреляции / идентификатор сообщения и сохранить его в переменной? Я хочу поместить его в переменную и сохранить в базе данных.

Я думаю об использовании MQMD.

MQMD * мкр .;

std :: string corid = md-> CorrelId;

Код выше не работает.

Пожалуйста, помогите мне с этим. Кстати, я использую Websphere MQ для C ++.

Спасибо! 🙂

-1

Решение

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);
}

Надеюсь, это помогло.

1

Другие решения


По вопросам рекламы [email protected]