2013-10-03 3 views
0

У меня есть 5 разных обработчиков, работающих как хост NServiceBus как служба Windows.NServiceBus 4.03 Есть ли способ сохранить сообщение, посланное неправильному обработчику, на некоторую ошибку q

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

В настоящий момент сообщение потеряно, и мы не можем ничего с ним поделать.

ответ

0

Если вы (попытайтесь) отправить сообщение в несуществующую очередь, служба очереди помещает его в очередь мертвых букв, чтобы он не потерялся.

Если вы отправляете сообщение в неправильную очередь, из которой какой-то код проглатывает его, не обрабатывая его, то (пока вы не отключили аудит) это сообщение будет перенаправлено в очередь аудита, и в этом случае также не теряется.

Короче говоря, в обоих случаях вы не потеряете сообщение.

+0

Мы не проводим аудит «на» в производстве, и мы не можем из-за природы сообщений, содержащих некоторую конфиденциальную информацию. Есть ли способ 'в IMutators', чтобы проверить, может ли сообщение обрабатываться обработчиком, если оно не переместится к ошибке q или не перейдет к другому q .... – Miral

+0

Если ваша проблема связана с конфиденциальной информацией, видимой в очереди, определяют необходимые свойства этих сообщений как зашифрованные. Не пытайтесь переопределить уже существующие функции. –