创建或更新消息队列
作用
创建或更新消息队列。队列是 JMS 应用程序可在其上发送和接收消息的对象。
URI
使用具有以下 IBM® IoT MessageSight 配置 URI 的 IBM IoT MessageSight REST API POST 方法:
http://<admin-endpoint-IP:Port>/ima/v1/configuration/
对象配置数据
使用以下模式在 POST 方法的有效内容中提供 Queue 对象的配置数据。Content-type 设置为 application/json:
{
"Queue": {
"<NameOfQueue>": {
"Description": "string",
"AllowSend": true|false,
"ConcurrentConsumers": true|false,
"MaxMessages": integer
}
}
}
其中:- NameOfQueue
- 这是必需属性。
- 指定队列的名称。
- 名称不得包含开头空格或结尾空格,并不能包含控制字符、逗号、双引号、反斜杠或等号。第一个字符不得是数字或以下任意特殊字符:
- ! # $ % & ' ( ) * + - . / : ; < > ? @
- 该名称不得与其他队列相同。
- Description
- 指定队列的描述。
- 如果您不需要描述,请省略 "Description":"description"。
- AllowSend=true|false
- 指定 JMS 应用程序是否可以向队列发送消息。 这不会使应用程序停止从队列接收消息。
- 缺省值为 true。
- ConcurrentConsumers=true|false
- 指定是否允许多个使用程序同时使用队列。
- 缺省值为 true。
- MaxMessages
- 指定可放在队列上的最大消息数。该值仅作为指导原则,而不是绝对限制。如果系统在运行时承受了压力,那么队列中的缓冲消息数可能会比 MaxMessages 值略高。
- 值可以是范围 1-20000000 之间的任意数字。
- 缺省值为 5000。
用法说明
- 必须按照所示情况使用首字母大写和双引号。
相关的 REST 管理 API
示例
以下示例演示了如何使用 cURL 来创建名为 testQ 的队列。该队列对 AllowSend 和 ConcurrentConsumers 使用缺省值,并将 MaxMessages 设置为 1000:
curl -X POST\
-H 'Content-Type: application/json' \
-d '{
"Queue": {
"testQ": {
"MaxMessages": 1000
}
}
}
' \
http://127.0.0.1:9089/ima/v1/configuration/
以下示例显示了对 POST 方法的响应示例。{
"Version": "v1",
"Code": "CWLNA6011",
"Message": "The requested configuration change has completed successfully."
}