使用 ha-mode=all 创建 Quorum 队列

问题描述 投票:0回答:1

我想提前道歉,但我对大众交通不太有经验。 我需要帮助创建仲裁队列并将队列的“ha-mode”设置为 MassTransit 8.0.15 的“全部”

我的代码是:

services.AddMassTransit(mt =>
{
    mt.AddConsumer(typeof(FileConsumer))
          .Endpoint(e => { e.Name = "my-queue"; e.InstanceId = ""; });

    mt.UsingRabbitMq((context, rmq) =>
    {
    rmq.Host(rabbitMqHost, host =>
   {                        
    host.Username(userName);
    host.Password(password);                        
   });

   rmq.ConfigureEndpoints(context);
   });
});

任何帮助将不胜感激。谢谢

我尝试添加: rmq.SetQueueArgument("x-queue-type", "quorum"); rmq.SetQueueArgument("x-ha-mode", "all");

但是没有成功

.net rabbitmq masstransit
1个回答
0
投票

我相信

ha-mode
仅适用于经典队列。仲裁队列完全不同。您可以通过添加配置端点回调来配置接收端点以使用仲裁队列:

mt.AddConfigureEndpointsCallback((name, cfg) =>
{
    if (cfg is IRabbitMqReceiveEndpointConfigurator rmq)
        rmq.SetQuorumQueue();
});
© www.soinside.com 2019 - 2024. All rights reserved.