Программная конфигурация служебной шины Rhino

#esb #rhino-servicebus

#esb #rhino-servicebus

Вопрос:

У меня есть два хоста — A и B Я использую следующий фрагмент кода для настройки служебной шины на хосте A.

 host.BusConfiguration(c => c.Threads(1).Retries(1)
        .Bus(endpointA.AbsoluteUri, "name", true)
        .Receive(typeof(MyMessage).Namespace, hostB.Endpoint.AbsoluteUri, true)
  

Это настраивает хост на создание шины, которая прослушивает ndpointA.AbsoluteUri адрес e и записывает сообщения из [typeof(MyMessage).Namespace] пространства имен в очередь, расположенную по адресу hostB.Endpoint.AbsoluteUri , правильно?
Я использую тот же код для настройки шины if на хосте B (с использованием hostB, где стоит hostA)

Я не могу настроить два хоста для взаимной отправки и получения сообщений друг другу. Только один из них (A) способен отправлять сообщения, которые принимаются B. Когда B отправляет сообщение, сообщение просто помещается в очередь и не используется A. В чем может быть причина?

Ответ №1:

Самый простой способ узнать, что происходит, — включить ведение журнала для log4net в режиме отладки уровня и посмотреть, какой результат для узла A.

Комментарии:

1. большое спасибо! ваш простой совет помог мне заглянуть в конвейер обработки srhino service bus и найти ошибку (незначительная ошибка в consumer construtor)