我已经安装了“RabbitMQ延迟消息插件”。并且可以在RabbitMQ的插件列表中看到。x1c 0d1x
并使用以下代码通过RabbitMq配置MassTnasit:
var services = new ServiceCollection();
services.AddMassTransit(x =>
{
x.AddRabbitMqMessageScheduler();
x.UsingRabbitMq((context, cfg) =>
{
cfg.UseDelayedExchangeMessageScheduler();
cfg.ConfigureEndpoints(context);
});
});
并将“IMessageScheduler”接口注入到我的业务服务中,并调用了“IMessageScheduler.ScheduledPublish〈〉()”。
但我得到了这个错误:与MassTransit的未知交换类型“x-delay-message”RabbitMq
3条答案
按热度按时间pnwntuvh1#
对于该版本的RabbitMQ,您需要插件的最新版本available on GitHub。
我也将MassTransit Docker图像更新为最新:MassTransit/RabbitMQ
vshtjzan2#
更新rabbitmq_delayed_message_exchange插件版本从3.8.0到3.8.9解决了我的问题。
ih99xse13#
我们在使用CloudMQ示例(RabbitMQ托管服务)时也遇到了同样的问题。
在检查CloudMQ门户中的RabbitMQ示例详细信息时,发现未安装插件“delayed-message”,安装插件后解决了该问题。