【发布时间】:2011-09-28 19:36:15
【问题描述】:
我正在尝试用 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);
【问题讨论】: