Как связать MassTransit с RabbitMq на CloudAMQP - PullRequest
0 голосов
/ 12 мая 2019

У меня проблема с подключением MassTransit к RabbitMq на CloudAMQP. Ниже мой код

var bus = Bus.Factory.CreateUsingRabbitMq(otions => {
    var host = otions.Host(new Uri("rabbitmq://llama-01.rmq.cloudamqp.com"),
    h => { h.Username("my_username"); h.Password("my_password"); });
    otions.ReceiveEndpoint(host, "recvqueue", ep => {
        ep.Handler<Communicate>(Handle);
    });
});

bus.Start();

h.Password и h.Username верны. Когда я пытаюсь запустить автобус, я получаю следующую ошибку:

RabbitMQ Connect Failed: Брокер недоступен: my_username@llama-01.rmq.cloudamqp.com: 5672 /

Я подозреваю, что проблема в адресе URI, но я не могу найти правильный.

1 Ответ

1 голос
/ 13 мая 2019

Хорошо, я быстро просмотрел их начало и вижу, что ваш экземпляр получает vhost с тем же именем, что и ваш пользователь.

enter image description here

Изображение выше - то, что я получил после подписки на бесплатный тариф.

Для MassTransit вам нужно либо добавить vhost в конец строки подключения, например rabbitmq://llama-01.rmq.cloudamqp.com/my_username, либо настроить его в конфигурации хоста вместе с именем пользователя и паролем.

...