我正在尝试通过REST API将消息放入IBM MQ队列,但是我不知道如何在请求中设置优先级。我尝试仅使用“优先级”作为查询参数,但收到以下错误:
"error": [
{
"action": "Resubmit the request with an appropriate set of parameters.",
"completionCode": 0,
"explanation": "The REST API does not support this query parameter for this operation.",
"message": "MQWB0019E: The query parameter 'priority' is not allowed.",
"msgId": "MQWB0019E",
"reasonCode": 0,
"type": "rest"
}
]
Question 36399382提到了同时使用“ priority”和“ targetClient”查询参数,但这似乎仅适用于Apache Camel,甚至尝试也没有用。
我已经浏览了所有可以找到的IBM MQ REST API文档,但是我所遇到的问题都没有解决。我确定某个地方有一些文档,但我只是找不到。这是必须在服务器上配置的特定内容,还是我的语法有问题?
谢谢!
答案 0 :(得分:2)
消息传递REST API,即到/messaging/qmgr/{qmgrName}/queue/{queueName}/message
的HTTP POST,目前不包含用于设置消息优先级的标头。
它包含correlationId
,expiry
,persistence
和ReplyTo
的标头。参见reference material here。
如果您有需要设置不同优先级的请求,则可以为DEFPRTY
属性创建具有不同值的不同ALIAS Queue定义,所有这些都指向同一个LOCAL Queue,并让REST API应用程序使用适当的ALIAS队列名称是为了将优先级设置为所需的名称。