2015-07-21 3 views
1

Итак, я пытаюсь получить сообщения MSMQ, пересылаемые с одной машины на другую (что было легко, я был удивлен), но одно из требований со стороны ops дома заключается в том, что нам нужно уметь видеть регистрировать запись где-нибудь, когда удаленный сервер решает не принимать сообщение. Например, если я пытаюсь послать к несуществующей очереди, например, так:MSMQ Event Logging не показывает сброшенные сообщения?

MessageQueue remoteQueue = new MessageQueue(@"FormatName:Direct=OS:machinename\private$\notarealqueue"); 

remoteQueue.Send("Test", MessageQueueTransactionType.Single); 

Сообщения переходит в локальную очередь доставки, и, кажется, посылают по сети, а потому, что очереди не существует, удаленный диспетчер MSMQ отбрасывает сообщение. Однако в журнале событий нет записи, которую я могу найти о том, что сообщение сбрасывается на пол, и это заставляет людей нервничать. Кажется, что в журнале Microsoft/Windows/MSMQ/EndToEnd есть успешные сообщения, которые не кажутся особенно полезными. Есть ли журнал, который я где-то не вижу?

ответ

3

Для этого вы можете использовать очереди сообщений MSMQ.

message.UseDeadLetterQueue = true; 

С, что включено, если сообщение не может быть доставлено оно будет отправлено на один из двух системных очередей мертвых букв - один для транзакционных и один для не транзакционных сообщений. Вы также найдете там причину, по которой сообщение не было доставлено, это была исходная целевая очередь, полный текст сообщения, ярлык и т. Д.

Вы можете использовать один из инструментов для управления очередями для повторной отправки или восстановления этих сообщений.

+0

Включение отрицательного источника ведения журнала было решением. Это разочаровывает некоторых из парней ops, чтобы не иметь причины в журнале событий (для удобства мониторинга), но, по крайней мере, это начало. –

1

Журнал событий предназначен исключительно для состояния здоровья MSMQ. То, что происходит с одним сообщением, тривиально и не регистрируется в журнале событий. Представьте, что произойдет, если миллион сообщений будет отброшен и должен быть зарегистрирован в журнале событий.

Смежные вопросы