我有很多消费者,我不想手动配置每一个消费者,所以我使用了以下方法 AddConsumers
和 ConfigureEndpoints
. 现在我需要为其中一个消费者配置一个重复策略。如果另外调用 ReceiveEndPoint
方法(在调用 ConfigureEndpoints
),会抛出 "已经添加了一个具有相同密钥的接收端点 "的异常。
是否可以将基于公约的端点配置和单个消费者的自定义配置结合起来?
看来是可以的。
services.AddMassTransit(cfg =>
{
cfg.AddConsumers(Assembly.GetExecutingAssembly());
// this consumer is also present in the assembly:
cfg.AddConsumer<SpecificConsumer>(x => x.UseRetry(r => r.Immediate(5)));
cfg.AddBus(sp => Bus.Factory.CreateUsingRabbitMq(x => x.ConfigureEndpoints(sp)));
});