【发布时间】:2012-01-31 17:34:50
【问题描述】:
我有以下代码。我的节点版本是 v0.7.0-pre 。当我运行代码时,屏幕会打印出来
Setup
Completed setup
它不打印 Exchange 回调消息。当我运行
rabbitmqctl --list_exchanges
command 我看到新的交换被创建了,但是回调没有被调用。我查看了测试用例,这似乎不是一个涵盖的案例。让我知道这是否是一个错误以及是否有解决方法
var util= require('util')
var amqp = require('amqp');
function setup() {
console.log("Setup");
var exchange = conn.exchange('cf1-demo',
{'type': 'fanout', durable: false},
function() {
console.log("Exchange Callback");
});
console.log("Completed setup %s", exchange.name);
}
var conn = amqp.createConnection({host:'localhost',
login:'guest',
password:'guest'},
{defaultExchangeName: "cf1-demo"});
conn.on('ready',setup);
【问题讨论】:
-
我很想回答这个问题,但不幸的是,你给我的代码在我的机器上运行良好,输出如下:
Setup Completed setup cf1-demo Exchange Callback -
您的代码没问题,正如@mattbornski 所说。这可能是关于节点版本的一些警告——可能由于 api 更改或其他原因,插件不支持最新的不稳定版本。它绝对适用于节点 0.6.8 和 amqp 0.1.1。
-
我正在运行 Ubuntu 11.04 x86_64 。当我运行 rabbitmqctl 报告时,我看到 rabbitMQ 版本为 2.7.1 。我将我的节点更改为 nodev0.6.8 并且我仍然得到相同的行为。我不确定如何找到 amqp 的版本
-
您将在
npm ls输出或与模块相关的package.json文件中看到amqp 版本。顺便说一句,我的 RabbitMQ 版本是 2.7.1。代码在 Ubuntu x86_64 中测试:10.10 和 11.10。 -
感谢我的 amqp 版本说 0.0.2 。让我获取最新版本并更新结果。我以为我做了 npm install amqp 。有不同的方法吗?
标签: node.js rabbitmq node-amqp