首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RabbitMQ:‘`rabbitmqctl list_exchanges`’下面的'direct‘标题是什么意思?

RabbitMQ:‘`rabbitmqctl list_exchanges`’下面的'direct‘标题是什么意思?
EN

Stack Overflow用户
提问于 2011-04-10 03:50:48
回答 1查看 639关注 0票数 1

如果我使用php的amqp类在rabbitmq中创建一个交换类型设置为direct的交换,并且指定的唯一选项是durable,然后尝试在node.js中连接到该交换,我会得到一个Cannot redeclare exchange with different options error,如果您的选项不匹配。

但是,据我所知,我使用的是完全相同的选项(直接输入和耐久选项)。所以我做了一个测试,用php创建了一个名为php_exchange的交换器,用node.js创建了一个名为node_exchange的交换器,然后运行rabbitmqctl list_exchanges,得到了一些有趣的输出:

代码语言:javascript
复制
Listing exchanges ...
node_exchange   direct
amq.headers headers
amq.direct  direct
amq.match   headers
amq.fanout  fanout
    direct
php_exchange    direct
amq.topic   topic
...done.

在这个上下文中,direct标题是什么意思(显然,它不是所有直接类型的交换,因为它将node_exchange列为直接类型)?如何让node.js创建一个相同的amqp交换(这样它在连接到持久交换时就不会失败)?

我正在使用PECL php amqp库和node-amqp库(https://github.com/ry/node-amqp)。

谢谢。

编辑:

以下是rabbitmqctl list_exchanges name type auto_delete internal arguments的输出(为简洁起见,删除了其他交换):

代码语言:javascript
复制
Listing exchanges ...
node_exchange   direct  false   false   []
php_exchange    direct  false   false   []
...done.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-10 04:25:23

这不是一个标题-它是AMQP的一个稍微令人困惑的方面的结果,那就是有一个直接的交换叫做"“。这是“默认”交换,所有队列都会自动绑定到它。

就您的PECL与node-amqp的问题而言,我没有使用这两种方法,但您的交换可能在类型或持久性之外的其他方面有所不同。"rabbitmqctl list_exchanges name type auto_delete internal arguments“将向返回的表中添加更多列,以显示您的交换的所有详细信息。或者看看管理插件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5607456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档