Глупые вопросы WebSphere MQ - PullRequest
3 голосов
/ 27 июня 2011

У меня есть два очень простых вопроса о WebSphere MQ - учитывая, что я администрировал его в течение последних нескольких месяцев, я склонен думать, что это глупые вопросы

  1. Есть лиспособ "деактивировать" очередь?(например, через команду runmqsc или через интерфейс проводника) - я думаю, что нет.Я думаю, что я могу сделать, это просто удалить его.

  2. Что произойдет, если я создам определение удаленной очереди, если реальная удаленная очередь отсутствует?Это вызовет какие-либо проблемы в администраторе очередей?- Думаю, нет.Я думаю, что все, что у меня будет, это сообщения об ошибках в журналах.

Пожалуйста, дайте мне знать ваши мысли.Спасибо!

1 Ответ

2 голосов
/ 27 июня 2011

1 Есть ли способ «деактивировать» очередь?

Да. Вы можете изменить атрибуты очереди следующим образом:
ALTER Q(QUEUE_NAME) PUT(DISABLED) GET(DISABLED)

Любые подключенные приложения получат код возврата при следующем вызове API, сообщающий им, что очередь больше не доступна для PUT / GET. Если это программы с хорошим поведением, они сообщат об ошибке и либо завершатся, либо перейдут в цикл повторения.

2 Что произойдет, если я создам определение удаленной очереди, если реальное удаленная очередь не на месте?

Определение QRemote преобразуется в очередь передачи. Если сообщение может быть успешно размещено там, ваша заявка получит код возврата ноль. (Любой неудачный PUT будет вызван нажатием MAXDEPTH или другой локальной проблемой, не связанной с тем, что удаленное определение не существует.)

Проблема будет видна, когда канал попытается доставить сообщение. Если на удаленном QMgr есть очередь недоставленных сообщений, сообщение будет отправлено туда. Если нет, он будет возвращен на локальный XMitQ, и канал остановится.

...