У меня есть несколько RebusHandlers как:Доменные события с Ребус и eventlisteners в NHibernate
public class CastleRebusHandler : IHandleMessages<CastleRebusMessage>
{
... (ctor injections from windsor)
public void Handle(CastleRebusMessage message)
{
var myPoco = _session.Get<MyPoco>(1);
myPoco.MethodThatRaiseDomainEvent();
}
}
Метод MethodThatRaiseDomainEvent
добавляет событие домена внутренний список, как описано here.
Я установил IPostUpdateEventListener
в NHibernate, который будет запускаться через коллекцию событий домена и отправлять их каждый. Я создал класс, который должен контролировать ISession
для событий Rebus на события BeforeMessage и AfterMessage.
Код события отправки домена (как описано в ссылке), в списке событий NHibernate = AfterMessage
в Rebus. Проблема в том, что, если здесь возникает исключение?
Как переместить сообщение в очередь ошибок Rebus, чтобы сигнализировать о сбое?
Мы используем версию 0.83
Кена
Ребус должен переместить сообщение ошибки очереди после того, как п не удалось попыток (5 по умолчанию). Его можно настроить так, как показано здесь: https://github.com/rebus-org/Rebus/wiki/Automatic-retries-and-error-handling. Если в вашем обработчике возникает исключение, например, в обработчике, оно рассматривается как сбой. – user1121956