有没有办法发布带有EasyNetQ主题的延迟消息?我能够使用FuturePublish
方法发送直接延迟消息,但它不允许我指定主题。
链接:
Scheduling Events with Future Publish
RabbitMQ gets support for delayed messages delivery
由于
答案 0 :(得分:0)
应该是可能的,是的。延迟消息交换允许您指定延迟后使用的交换类型:扇出,主题,直接。
查看您发布的第二个链接中的代码示例,您只需将“直接”配置更改为“主题”。
IDictionary args = new Dictionary
{
{"x-delayed-type", "topic"} //----------- here
};
channel.ExchangeDeclare("DelayedTest", "x-delayed-message", true, false, args);
然后按照显示的示例的其余部分进行操作,您可以使用路由键的主题进行发布。