Я пытаюсь написать небольшое приложение, которое подключается к администратору очередей и выполняет для него некоторые команды на 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);