如何使用节点将RPC实现到具有现有交换和队列的现有RabbitMQ服务器

时间:2015-03-12 22:58:29

标签: javascript node.js rabbitmq rpc amqp

我在使用node / Javascript实现RPC系统时遇到问题。到目前为止,我能够将消息发送到正确的交换和队列,然后获取消息可以被消费者使用,但是让我的命令行挂起而不响应消息是否到达代理和/或如果过程完成。

我在python中使用pika库并遵循RabbitMQ教程,但是无法使用node.js。

到目前为止,这是我的工作代码:

var amqp = require('amqp');

var connection = amqp.createConnection({
  host: 'amqp://username:password@xx.xx.xx.xxx:5672'
}, {
  defaultExchangeName: "myExchange"
});

var message = {

  "key1": "value1",
  "key2": "value2",
}

connection.on('ready', function() {
  console.log("successful connection to host");

  connection.exchange('myExchange', {
    passive: true,
    type: 'topic'
  }, function(exchange) {
    console.log(exchange.name); //this will output to console

    connection.queue('myQueue', {
      passive: true
    }, function(queue) {
      console.log(queue.name); //this will output to console

      exchange.publish('myRoutingKey', message, {
        contentType: 'application/json'
      }, function() {
        console.log("message sent") //this does NOT output to console
      });

    });
  });
});

这将发送正确的消息,消费者可以使用它来完成它需要做的事情。

我的问题是:如何回复说兔子收到消息?

我的最终游戏就是能够遍历一系列消息并将它们发送到我的兔子服务器,以便我的消费者可以处理它们。

0 个答案:

没有答案