gpt4 book ai didi

ibm-mq - 如何确定队列的 `MaxMsgLength`的值

转载 作者:行者123 更新时间:2023-12-04 19:06:21 25 4
gpt4 key购买 nike

我正在尝试将简单的字符串消息写入队列。 MaxMsgLength队列的属性设置为 4 kb。该消息有 2700 个字符,当我尝试放入队列时,我收到 2030 (07EE) (RC2030):MQRC_MSG_TOO_BIG_FOR_Q异常(exception)。我没有做任何特殊类型的编码,因此应该使用 Windows 的默认值。

我想知道如何确定我应该在 MaxMsgLength 中给出的值属性(property)。如何计算。

最佳答案

请记住 MaxMsgLength队列定义中指定的不仅包括有效负载,还包括消息头和您设置的任何属性。如果您查看信息中心 MQ_* (String Lengths) 页面并查找 MQ_MSG_HEADER_LENGTH您将看到仅 MQMD 就有 4000 个字节。所以如果你设置 MaxMsgLength到 4k 的队列中,您可以拥有的最大有效负载是 96 字节。如果有问题的队列是传输队列,则需要队列大小加上 MQXQH 的大小。传输队列头。

要具体回答帖子标题中的问题,您可以找到MaxMsgLength有两种方式。在视觉上,通过显示队列属性。以编程方式,在打开队列时将“查询”添加到打开选项中,并使用 MQInq API 调用。然后将 MQMD 的总和相加,您添加的任何属性(包括包含它们但未在操作它们的 API 调用中返回的 XML 结构)以及任何标题,例如 RFH2 (如果队列设置为使用它而不是 native 属性),MQXQH , MQDLQ , 等等。

关于ibm-mq - 如何确定队列的 `MaxMsgLength`的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23303438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com