【发布时间】:2017-01-11 06:44:04
【问题描述】:
这是我的实现
消费:
GetResponse resp = channel.basicGet(qName, false);
确认:
channel.basicAck(dTag, false);
或
channel.basicNack(dTag, false,true);
我面临的问题是,如果我创建不同的通道对象,则不会发生确认。 而且我只能在同一个 jvm(tomcat 或任何其他应用服务器)同时执行这两个操作(消费、确认)时才能实现。
所以如果我的应用程序在集群模式下运行(多个应用程序服务器),我就有麻烦了。
谁能帮助我如何从另一台机器确认消息已被消费,即使用不同的通道对象。
谢谢!!
【问题讨论】:
-
Acking 必须发生在同一个频道上。您无法确认来自另一台机器的消息。