如何通过;“独家”;作为rabbitmqadmin声明队列的参数?

如何通过;“独家”;作为rabbitmqadmin声明队列的参数?,rabbitmq,command-line-interface,Rabbitmq,Command Line Interface,在Java中,有以下选项: 队列-队列的名称 持久:true-如果我们声明一个持久队列(该队列将在服务器重新启动后生存) exclusive:true-如果我们正在声明独占队列(仅限于此连接) autoDelete:true-如果我们正在声明一个autoDelete队列(服务器将在不再使用时删除它) 参数:其他-队列的属性(构造参数) channel.queueDeclare(endPointName,true,false,false,null) 对于rabbitmqadmin,命令行如何使

在Java中,有以下选项:

  • 队列-队列的名称
  • 持久:true-如果我们声明一个持久队列(该队列将在服务器重新启动后生存)
  • exclusive:true-如果我们正在声明独占队列(仅限于此连接)
  • autoDelete:true-如果我们正在声明一个autoDelete队列(服务器将在不再使用时删除它)
  • 参数:其他-队列的属性(构造参数)
channel.queueDeclare(endPointName,true,false,false,null)

对于rabbitmqadmin,命令行如何使用命令行工具传递exclusive=false的参数

该工具的文档中没有此用例的示例

我正在寻找这样的shell脚本命令:

rabbitmqadmin declare queue name="endPointName" durable=true exclusive=false arguments={"x-message-ttl":86400000}

默认情况下,如果没有
expires
参数集,则使用
false
值,因此必须通过
参数
json格式化参数传递它。shell命令应如下所示:

$ rabbitmqadmin declare queue name=endPointName durable=true arguments='{"exclusive":false,"x-message-ttl":86400000}'
queue declared
确保您有有效的json strnig,除非您会遇到格式问题。此外,将删除内部用单引号或双引号括起来的json字符串

然后会在管理面板中看到如下内容:

$ rabbitmqadmin declare queue name=endPointName durable=true arguments='{"exclusive":false,"x-message-ttl":86400000}'
queue declared

默认情况下,如果没有
过期
参数集,则使用
false
值,因此必须通过
参数
json格式化参数传递它。shell命令应如下所示:

$ rabbitmqadmin declare queue name=endPointName durable=true arguments='{"exclusive":false,"x-message-ttl":86400000}'
queue declared
确保您有有效的json strnig,除非您会遇到格式问题。此外,将删除内部用单引号或双引号括起来的json字符串

然后会在管理面板中看到如下内容:

$ rabbitmqadmin declare queue name=endPointName durable=true arguments='{"exclusive":false,"x-message-ttl":86400000}'
queue declared

我可以用一些命令在commnadLine本身上查询,以检查图像中显示的x-message-TTL和exclusive的输出吗<代码>=错误报告===2014年5月9日::22:49:24===连接,通道1-错误:{amqp_错误,先决条件_失败,“vhost'/'中队列'endPointName'的不等价参数'x-message-ttl':收到'signedint'类型的值'86400000','queue.declare'}
看起来您已经用相同的名称但不同的参数声明了队列。通常,declare命令是幂等的,但仅当它使用精确参数调用时。要获取包含完整信息的声明队列列表,您可以运行
rabbitmqadmin-f long-d 3 list queues
(示例取自)命令来检查图像中显示的x-message-TTL和exclusive的输出
rabbitmqadmin-f raw_json list queues
我可以用一些命令在commnadLine本身上查询,以检查图像中显示的x-message-TTL和exclusive的输出吗<代码>=错误报告===2014年5月9日::22:49:24===连接,通道1-错误:{amqp_错误,先决条件_失败,“vhost'/'中队列'endPointName'的不等价参数'x-message-ttl':收到'signedint'类型的值'86400000','queue.declare'}看起来您已经用相同的名称但不同的参数声明了队列。通常,declare命令是幂等的,但仅当它使用精确参数调用时。要获取包含完整信息的声明队列列表,您可以运行
rabbitmqadmin-f long-d 3 list queues
(示例取自)命令来检查图像中显示的x-message-TTL和exclusive的输出
rabbitmqadmin-f原始json列表队列