EasyNetQ - 带有主题的延迟消息

EasyNetQ - Delayed messages with topics

有没有办法用 EasyNetQ 发布带有主题的延迟消息?我可以使用 FuturePublish 方法发送直接延迟消息,但它不允许我指定主题。

链接:

Scheduling Events with Future Publish

RabbitMQ gets support for delayed messages delivery

谢谢

应该可以,是的。延迟消息交换允许您指定延迟后要使用的交换类型:扇出、主题、直接。

查看您发布的第二个 link 中的代码示例,您应该只需要将 "direct" 配置更改为 "topic"。


IDictionary args = new Dictionary
{
    {"x-delayed-type", "topic"} //----------- here
};
channel.ExchangeDeclare("DelayedTest", "x-delayed-message", true, false, args);

然后按照示例的其余部分进行操作,您可以使用路由密钥的主题进行发布。