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);
然后按照示例的其余部分进行操作,您可以使用路由密钥的主题进行发布。
有没有办法用 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);
然后按照示例的其余部分进行操作,您可以使用路由密钥的主题进行发布。