【发布时间】:2019-03-12 02:49:51
【问题描述】:
我正在尝试建立一个消息传递系统并在多个应用程序之间运行。我有一个正在运行的 RabbitMQ 实例,这似乎很好。我可以将多个订阅者/发布者连接到 RabbitMQ 实例,它们看起来很好。然后我可以从一个发布者发布消息,但只有一个订阅者收到消息。
我认为这与我建立队列的方式有关。我看过关于 Rabbit 的教程,https://www.rabbitmq.com/tutorials/tutorial-three-dotnet.html,但我不知道这会转化为 Masstransit 库。
在我的一生中,我很难弄清楚我做错了什么。
NuGet:
- MassTransit.Extensions.DependencyInjection 5.3.2
- MassTransit.RabbitMQ 5.3.2
谁能帮忙?
// Register MassTransit
services.AddMassTransit(mtCfg =>
{
mtCfg.AddConsumer<DomainMessageConsumer>();
mtCfg.AddBus(provider => Bus.Factory.CreateUsingRabbitMq(rbCfg =>
{
var host = rbCfg.Host(settings.RabbitMq.Host, settings.RabbitMq.VirtualHost, h =>
{
h.Username(settings.RabbitMq.Username);
h.Password(settings.RabbitMq.Password);
});
rbCfg.ReceiveEndpoint(host, settings.RabbitMq.ConnectionName, ep =>
{
ep.PrefetchCount = 16;
ep.UseMessageRetry(x => x.Interval(2, 100));
ep.ConfigureConsumer<DomainMessageConsumer>(provider);
});
}));
});
【问题讨论】:
-
我建议您先阅读有关 MassTransit 的文档,而不是 RMQ:masstransit-project.com/MassTransit/usage/… 和 masstransit-project.com/MassTransit/troubleshooting/…
标签: c# rabbitmq masstransit