在Websphere MQ C ++中获取CorId / Msg Id

时间:2014-04-22 23:39:39

标签: c++ ibm-mq mq

有没有办法获取关联ID /消息ID并将其存储到变量中?我想将它放入变量并将其存储到数据库中。

我正在考虑使用MQMD。

MQMD * md;

std :: string corid = md-> CorrelId;

上面的代码无效。

请帮我解决这个问题。顺便说一下,我正在使用Websphere MQ for C ++。

谢谢! :)

1 个答案:

答案 0 :(得分: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);
  } 

希望这会有所帮助。