Estoy tratando de escribir una pequeña aplicación que se conecta a un Administrador de colas y emite algunos comandos en él, en Java.WebSphere MQ: cómo emitir comandos MQSC utilizando la API de Java?
Por lo que he leído en la documentación, entiendo que uno debe emitir comandos enviándolos en la cola "SYSTEM.ADMIN.COMMAND.QUEUE".
Sin embargo, la cola de respuestas definida por replyToQueueName
sigue vacía después de la ejecución.
¿Hay algo que eché de menos?
Aquí es una versión reducida del código:
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);
¿Ha cambiado la API de la versión 6 a la 7? He visto ejemplos, como este http://www.mqseries.net/phpBB2/viewtopic.php?t=15159, donde los comandos se emiten como simples cadenas de mensajes. – slaphappy
Para lectores más recientes, tenga en cuenta que z/OS también es compatible con PCF Too. Lo ha hecho desde V6. Los comandos MQSC encapsulados (también conocidos como Escape PCF) no son ni nunca fueron compatibles con z/OS. Al enviar comandos MQSC a z/OS no estaban encapsulados, solo eran cadenas colocadas directamente en la cola. –
Gracias por la corrección, @Morag. ¡Es bueno tenerte aquí! –