【问题标题】:Acknowledging rabbitMq messages from different threads in Java在 Java 中确认来自不同线程的 rabbitMq 消息
【发布时间】:2013-11-14 12:00:47
【问题描述】:

我有一个使用 rabbit 来分发任务的多层工作模式实现,因此消息通过许多“listner”之一进入(一个执行器服务,有许多线程调用 consumer.basicConsume(),每个线程都有自己的 Channel) .消息在应用程序中传递,然后在最后阶段被 ack 侦听器拾取(同样,用自己的不同通道用尽其自己的 ExecutorService )以进行确认,但是服务器不会拾取 ack .我写了一个简单的测试,我在同一个线程和不同线程中确认来自不同通道的消息,在它们工作的同一个线程上,在不同的线程上它们不工作,并且不同线程上的相同通道也可以工作.

以前有人遇到过这种情况吗?我真的不想保留频道到 ID 的映射。

【问题讨论】:

    标签: java multithreading rabbitmq messaging amqp


    【解决方案1】:

    完全不建议在不同的线程中确认消息,您应该避免这种行为。 这是文档所说的:http://www.rabbitmq.com/api-guide.html#channel-threads

    【讨论】:

      猜你喜欢
      • 2013-07-13
      • 1970-01-01
      • 2023-03-26
      • 2017-02-12
      • 2015-06-21
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      相关资源
      最近更新 更多