Как переместить сообщение MSMQ в другую очередь
У меня проблема с переносом сообщений из одной очереди в другую в моем окне разработки (Windows 8.1). Я использую сервисную шину MassTransit, которая генерирует три частные очереди для каждого экземпляра сервиса для меня. Один для обычных входящих сообщений, один для сообщений об ошибках и один для подписок. При возникновении сбоя в приемнике сообщений MT пытается выполнить несколько раз, прежде чем переместить его в очередь ошибок.
Сейчас во время разработки это происходит часто, но вместо того, чтобы все время запускать всю цепочку событий сверху, я бы хотел переместить сообщения обратно во входящую очередь, чтобы повторить попытку после изменения кода. Поэтому, естественно, я пробую оснастку MSMQ, находящуюся в Панели управления / Администрирование / Управление компьютером и в разделе Службы и приложения-> Очередь сообщений. Я открываю очередь ошибок, щелкнув правой кнопкой мыши сообщение и выбрав Все задачи-> Переместить,
Здесь я бы предположил, что поле со списком должно содержать все мои личные очереди, но нет, оно пустое. И попытка ввода не помогает. Я получаю только сообщение, которое говорит
Не удалось переместить сообщение из DIRECT=OS:{имя компьютера}\private${source_queue} в DIRECT=OS:{все, что я пытаюсь записать в поле со списком}, потому что целевая очередь или очередь недействительны.
Пожалуйста, помогите мне с синтаксисом, или что-то еще может быть не так!
2 ответа
Я использую ServiceBusExplorer, который можно скачать с https://github.com/paolosalvatori/ServiceBusExplorer .
Затем выполните следующие шаги,
- Подключитесь, используя строку подключения
- Выберите очередь _error и нажмите кнопку сообщений .
- Выделите сообщения, которые вы хотите повторно поставить в очередь.
- Щелкните правой кнопкой мыши и выберите « Повторить отправку в пакетном режиме».
- Выберите «Отправить» , а затем свою очередь, из которой вы потребляете (ту, через которую они прошли изначально).
Самое простое решение - использовать инструмент для перемещения сообщений, например MSMQ Studio.