WebSphere MQ: Как создавать команды MQSC с помощью API Java? - PullRequest
5 голосов
/ 05 июля 2011

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

Из того, что я прочитал в документации, я понимаю, что нужно давать команды, отправляя их в очередь "SYSTEM.ADMIN.COMMAND.QUEUE".

Однако очередь ответа, определенная replyToQueueName, все еще пуста после выполнения.

Что-то я пропустил?

Вот урезанная версия кода:

MQQueueManager qMgr = new MQQueueManager("SOME_HOSTNAME");

MQQueue qOut = qMgr.accessQueue("SYSTEM.ADMIN.COMMAND.QUEUE", MQC.MQOO_OUTPUT);
MQQueue qIn = qMgr.accessQueue("SYSTEM.DEFAULT.LOCAL.QUEUE", MQC.MQOO_INPUT_AS_Q_DEF);

MQMessage message = new MQMessage();
message.writeUTF("DISPLAY QMGR ALL");
message.messageType = MQC.MQMT_REQUEST;
message.format = MQC.MQFMT_STRING;
message.replyToQueueName = "SYSTEM.DEFAULT.LOCAL.QUEUE";

qOut.put(message, new MQPutMessageOptions());

MQMessage retrievedMessage = new MQMessage();
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = MQC.MQGMO_WAIT | MQC.MQGMO_CONVERT;

qIn.get(retrievedMessage, gmo);

1 Ответ

4 голосов
/ 05 июля 2011

Командный процессор ожидает получения сообщений в формате Programmable Command Format (PCF).См. Классы com.ibm.mq.pcf и программируемые форматы команд и интерфейс администрирования руководство.

В зависимости от версии клиента MQ вы являетесьиспользуя, вам может потребоваться загрузить Java-классы PCF из SupportPac MS0B .Тем не менее, настоятельно рекомендуется разрабатывать с использованием новейшего клиента MQ.Текущий клиент всегда будет работать с более ранними версиями сервера WMQ V7 и использовать уровень функциональности, доступный на этих платформах.Это гарантирует, что по крайней мере ваши клиентские классы поддерживаются, в то время как более старая версия, такая как V5.3 или V6, не поддерживается

MQ-клиент V7.0 доступен как SupportPac MQC7 .
MQ-клиент V7.5 доступен как SupportPac MQC75 .
V8.0 MQ клиент доступен как SupportPac MQC80 .

...