Запрет MassTransit от создания обмена RabbitMQ для потребительского хоста - PullRequest
0 голосов
/ 21 марта 2019

Можно ли настроить MassTransit так, чтобы он не создавал обмен RabbitMQ для хоста потребителя? У моего пользователя RabbitMQ недостаточно прав для объявления обмена на узле, где расположена очередь потребления, поэтому MassTransit не запускается со следующей ошибкой:

Unhandled Exception: MassTransit.RabbitMqTransport.RabbitMqConnectionException: Operation interrupted ---> RabbitMQ.Client.Exceptions.OperationInterruptedExcept ion: The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, c ode=403, text="ACCESS_REFUSED - access to exchange '***' i n vhost '***' refused for user '***'", classId= 40, methodId=10, cause=

Вот код, который я использую:

var bus = Bus.Factory.CreateUsingRabbitMq(sbc => { var host = sbc.Host(host: "***", port: 5671, virtualHost: "***", configure: configurator => { configurator.UseSsl(sslConfigurator => { sslConfigurator.Certificate = certificate; sslConfigurator.UseCertificateAsAuthenticationIdentity = true; sslConfigurator.ServerName = "***"; }); }); sbc.ReceiveEndpoint(host, "***", endpointConfigurator => { endpointConfigurator.Consumer<UpdateCustomerConsumer>(); }); });

...