Как переместить сообщение MSMQ в другую очередь

4339
Anttu

У меня проблема с переносом сообщений из одной очереди в другую в моем окне разработки (Windows 8.1). Я использую сервисную шину MassTransit, которая генерирует три частные очереди для каждого экземпляра сервиса для меня. Один для обычных входящих сообщений, один для сообщений об ошибках и один для подписок. При возникновении сбоя в приемнике сообщений MT пытается выполнить несколько раз, прежде чем переместить его в очередь ошибок.

Сейчас во время разработки это происходит часто, но вместо того, чтобы все время запускать всю цепочку событий сверху, я хотел бы переместить сообщения обратно во входящую очередь, чтобы повторить попытку после изменения кода. Поэтому, естественно, я пробую оснастку MSMQ, находящуюся в Панели управления / Администрирование / Управление компьютером и в разделе Службы и приложения-> Очередь сообщений. Я открываю соответствующую очередь ошибок, щелкая правой кнопкой мыши сообщение и выбирая Все задачи-> Переместить ,

Здесь я бы предположил, что поле со списком должно содержать все мои личные очереди, но нет, оно пустое. И попытка ввода не помогает. Я получаю только сообщение, которое говорит

Не удалось переместить сообщение из DIRECT = OS: \ private $ в DIRECT = OS:, поскольку целевая очередь или очередь недействительны.

Пожалуйста, помогите мне с синтаксисом, или что-то еще может быть не так!

3
Почему-то я пропустил или забыл, что я читал об инструменте MassTransit с именем BusDriver, который поддерживает этот сценарий, читайте больше об этом [здесь] (http://josephvano.wordpress.com/2012/09/11/masstransit-moving-messages-from -ошибка-очереди /). Тем не менее, я все еще хочу знать, как это сделать во встроенном интерфейсе Windows ... Anttu 9 лет назад 0
Ты не можешь Как только сообщение доставлено, это конец строки для него. Вы можете только прочитать сообщение, взять его содержимое и создать из него новое сообщение, которое вы отправляете в новую очередь. Если вы видите стороннее приложение, которое выполняет перемещение сообщений, это должно быть то, что он делает под прикрытием. Перемещение сообщений может вызвать проблемы для подтверждений и ведения журнала (если используется) при чтении исходного сообщения, что может вызывать ACK, сбрасывать таймеры и т. Д. Перемещение сообщений в пользовательском интерфейсе (AFAIK) заключается в перемещении сообщений в очереди между вложенными очередями. John Breakwell 9 лет назад 2

0 ответов на вопрос