MSMQ: как отправить сообщение из очереди транзакционных мертвых писем в личную очередь на удаленном компьютере

Windows Server 2012

MSMQ 6 Режим рабочей группы

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

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

Спасибо,

Дэвид

1 ответ

Как я понял твой вопрос, это единовременная проблема с некоторым количеством сообщений, которые у тебя уже есть в MSMQ, а не общая проблема с подключением между компьютерами? Если это так, вы сможете решить эту проблему с помощью какого-либо инструмента управления MSMQ. Отказ от ответственности: я являюсь автором одного из таких инструментов - QueueExplorer. Я не знаю, что могут делать другие инструменты, но с QueueExplorer вы можете копировать / вставлять или перетаскивать сообщения на другой компьютер, открытый в отдельной вкладке / окне. Для этого QueueExplorer должен выполнить операцию отправки MSMQ, поэтому сообщения должны будут проходить через MSMQ между этими двумя машинами. Так что если проблема все еще не позволила доставить оригинал, вы все равно застряли. В этом случае вы можете сохранить все сообщения в файл, передать их на другой компьютер через файловую систему и загрузить их в любую очередь, в которую они должны идти. Это, безусловно, просто обходной мануал для разовой ситуации. Btw. это можно сделать в пробном режиме QueueExplore.

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

Другие вопросы по тегам