1 Есть ли способ «деактивировать»
очередь?
Да. Вы можете изменить атрибуты очереди следующим образом:
ALTER Q(QUEUE_NAME) PUT(DISABLED) GET(DISABLED)
Любые подключенные приложения получат код возврата при следующем вызове API, сообщающий им, что очередь больше не доступна для PUT / GET. Если это программы с хорошим поведением, они сообщат об ошибке и либо завершатся, либо перейдут в цикл повторения.
2 Что произойдет, если я создам
определение удаленной очереди, если реальное
удаленная очередь не на месте?
Определение QRemote преобразуется в очередь передачи. Если сообщение может быть успешно размещено там, ваша заявка получит код возврата ноль. (Любой неудачный PUT будет вызван нажатием MAXDEPTH или другой локальной проблемой, не связанной с тем, что удаленное определение не существует.)
Проблема будет видна, когда канал попытается доставить сообщение. Если на удаленном QMgr есть очередь недоставленных сообщений, сообщение будет отправлено туда. Если нет, он будет возвращен на локальный XMitQ, и канал остановится.