MSMQ error Недостаточно ресурсов Заполняется транзакционная очередь недоставленных сообщений - PullRequest
0 голосов
/ 28 ноября 2011

Была запущена система, которая использует несколько msmq на одной и той же машине, работала нормально около суток, после чего я получаю сообщение об ошибке «Недостаточно ресурсов» при попытке отправить сообщение в одну из очередей.Исследовано в этом сообщении в блоге:

http://blogs.msdn.com/b/johnbreakwell/archive/2006/09/18/761035.aspx

Я не вижу там ничего о расследовании очереди недоставленных писем.

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

Полагаю, мой главный вопрос - объяснить мне, что такое очередь мертвых писем и как я могу с ней справиться.

спасибо.

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

В блоге не будет ничего про очередь недоставленных писем, поскольку это просто очередь, как и любая другая.

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

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

Приветствия
Джон Бруквелл

1 голос
/ 24 января 2013

Сегодня столкнулся с этой проблемой с нашей настройкой MSMQ / NServiceBus. Насколько я понимаю, ручная очистка очереди будет перемещать сообщения в очередь мертвых сообщений транзакции. Очистка этой очереди решила проблему для нас.

...