В команде очереди DELETE нет опции FORCE. Если очередь в настоящее время открыта приложением для ввода, и они ожидают в MQGET, вы можете удалить их с помощью следующей команды.
MQSC
ALTER QLOCAL(q-name) GET(DISABLED)
PCF
PCFMessage message = new PCFMessage (CMQCFC.MQCMD_CHANGE_Q);
message.addParameter(CMQC.MQCA_Q_NAME, name);
message.addParameter(CMQC.MQIA_INHIBIT_GET, CMQC.MQQA_GET_INHIBITED);
agent.send(message);
Однако, если очередь в данный момент открыта, а приложение в данный момент не находится ни в MQGET, ни в MQPUT, то вы не можете удалить их таким образом, тогда вам остается только найти нужное приложение, используя DISPLAY CONN
, а затем введите STOP CONN
, чтобы заставить их освободить очередь.
Наиболее вероятным занятием очереди является длинный MQGET-официант, поэтому приведенная выше примерная команда поможет в большинстве случаев.