如何通过 REST API 设置 IBM MQ 消息的优先级?

How to set priority of IBM MQ message through REST API?

我正在尝试通过 REST API 将消息放入 IBM MQ 队列,但我不知道如何在请求中设置优先级。我试过简单地使用 "priority" 作为查询参数但收到以下错误:

"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 文档,但我遇到的任何文档都没有解决它。我确定某处有一些文档,但我只是没有找到它。这是必须在服务器上配置的特定内容,还是我的语法有问题?

提前致谢!

消息传递 REST API,即 HTTP POST 到 /messaging/qmgr/{qmgrName}/queue/{queueName}/message 当前不包含用于设置消息优先级的 header。

它包括 correlationIdexpirypersistenceReplyTo 的 header。见 reference material here.

如果您有需要设置不同优先级的请求,您可以为 DEFPRTY 属性创建不同的 ALIAS Queue 定义,所有这些定义都指向相同的 LOCAL Queue ,并让您的 REST API 应用程序使用适当的 ALIAS queue 名称,以便将优先级设置为他们需要的。