0

我的机器上没有 MQ 设置 - 我有来自系统错误的日志。谁能帮我解释一下?我正在寻找验证的东西是:

(1) Should the messageId be all zeroes ?

    (2) When we do an MQPUT , we use the MessageId to search 
with and subsequent GET ? (validate)

(3) When we do a MQPUT , the correlationId is set as all Zeroes ?(validate)

这是一个MQGET日志

**MQGET**(Hconn,Hobj,MQMD,MQGMO,int,ByteBuffer,Pint,Pint,Pint) (**LocalMQ**) 
    [:/d1b0530f] Entry                                         
    0x146bcc9                                         
    0x6 0x163d7ed8 <null>                                         
    version:2 report:0 
**msgType**:8 
**expiry**:-1 
feedback:0 encoding:273 
codedCharSetId:0 format:'' 
priority:-1 
persistence:2 
**msgId**:000000000000000000000000000000000000000000000000 
**correlId**:XXX0269A //I have truncated this
**backoutCount**:0 
**replyToQ**:''
**replyToQMgr**:'' 
4

1 回答 1

1

(1) 通常的做法是在发出 MQPUT 之前将消息 ID 清零,以向队列管理器表明您希望它为您的消息生成唯一的消息 ID。

(2) 从 MQPUT 调用返回后,MQMD 将包含为您的消息创建的生成的消息 ID。然后,如果您需要在后续 MQGET 调用中进行关联,则可以使用它。

(3) 对于请求消息上的相关 ID,它们被清零是正常的。对于回复,通常将作为回复的请求消息中的消息 ID 复制到相关 ID 字段中。

于 2015-01-07T12:49:47.677 回答