首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EasyNetQ的队列确认

使用EasyNetQ的队列确认
EN

Stack Overflow用户
提问于 2014-10-23 21:40:02
回答 2查看 1.9K关注 0票数 1

我希望接收到消息实际上已被放置在队列中的异步确认。我已经搜索了相当多的内容,并且尝试过各种使用EasyNetQ的PublishAsync进行确认的方法,但是似乎找不到Bus连接配置和代码组合,这会给我这样的确认。

也许PublishAsync不是实现这一目标的方法,而且我忽略了EasyNetQ API中的其他一些东西?还有其他人有用EasyNetQ实现这个场景的经验吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-30 20:44:25

对于这种保证,您需要打开publisher确认。见文件:

https://github.com/mikehadlow/EasyNetQ/wiki/Publisher-Confirms

票数 1
EN

Stack Overflow用户

发布于 2016-10-20 06:33:46

官方的发布文件确认

对于不可路由的消息,一旦exchange验证消息不会路由到任何队列(返回队列的空列表),代理将发出确认消息。

这意味着您将得到发布确认,即使没有队列绑定到具有匹配路由密钥的exchange。如果要确保消息至少发布到一个队列,则需要确保强制标志在true中设置为BasicPublish

代码语言:javascript
复制
channel.BasicPublish(
    exchange: "my_exchange",
    routingKey:"routingkey",
    mandatory: true, // at least one queue
    basicProperties: null,
    body: new byte[0]
);

不提供强制时的默认值是false。所以Mike的答案并不是百分之百准确。关于这一点,有一个公开发行用于RawRabbit,这将在下一个版本中完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26537936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档