【问题标题】:How message receiving in RabbitMQ worksRabbitMQ 中的消息接收是如何工作的
【发布时间】:2013-02-03 19:58:25
【问题描述】:

我在云上有一个 RabbitMQ 实现的队列,并且我编写了一个 Node.JS 接收器和发送器,它基本上将从队列发送和接收消息。 我基本上点击了队列的 uri 并创建了一个连接。

我的问题是:由于我的接收器位于防火墙后面而不是任何公共 IP,队列如何将消息发送到我的队列?它使用什么技术将消息发布到我的队列?我的接收器是否在不断地轮询队列?

【问题讨论】:

    标签: jms rabbitmq message-queue mom


    【解决方案1】:

    由于我还没有找到这个问题的任何答案,这是我根据 RabbitMQ 文档的观察。

    在大多数应用程序中,当队列不在系统之外并且可以访问时,实现观察者模式是正确的想法。

    在我的情况下,当队列在系统外部(在云上)时,接收器代码会轮询队列中的任何消息,来自 RabbitMQ 站点的示例代码证实了这一点。

    while (true) {
        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        String message = new String(delivery.getBody());
    
        System.out.println(" [x] Received '" + message + "'");
    }
    

    可能还有其他一些相同逻辑的实现..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      相关资源
      最近更新 更多