MSMQ TimeToBeReceived - PullRequest
       16

MSMQ TimeToBeReceived

3 голосов
/ 24 апреля 2011

Только что написали небольшое приложение для чтения из нашей очереди недоставленных писем MSMQ и повторной отправки сообщений. Однако я заметил, что по истечении срока TimeToBeReceived сообщение удаляется из очереди назначения на удаленном сервере и помещается обратно в очередь недоставленных сообщений отправителя, откуда оно пришло до повторной отправки. Это нормальное, ожидаемое поведение? Я ожидал, что по истечении этого срока он отправится в пункт назначения DLQ.

Заранее спасибо.

Frank

1 Ответ

3 голосов
/ 24 апреля 2011

Да, это нормально. Такое поведение гарантирует, что все возможные сбои попадут в одну очередь тупиковой рассылки, которую сможет проверить приложение в отправляющем ящике. Обратите внимание, что между транзакционными и нетранзакционными сообщениями здесь есть иное отличие: для нетранзакционных сообщений получатель отправит сообщение обратно отправителю по истечении времени ожидания. В случае транзакции сообщение фактически будет оставаться в отправителе (помеченном как «необработанный» в исходящей очереди) до тех пор, пока не будет получено получателем или пока оно не будет перемещено в очередь мертвых рассылок. Таким образом, MSMQ гарантирует, что сообщение не потеряно.

...