Tôi đang cố gắng viết một ứng dụng nhỏ kết nối với Trình quản lý hàng đợi và phát hành một số lệnh trên đó, trong Java.WebSphere MQ: Làm thế nào để phát hành các lệnh MQSC bằng cách sử dụng API Java?
Từ những gì tôi đã đọc trong tài liệu, tôi hiểu rằng người ta phải đưa ra các lệnh bằng cách gửi chúng trong hàng đợi "SYSTEM.ADMIN.COMMAND.QUEUE".
Tuy nhiên, hàng đợi trả lời được xác định bởi replyToQueueName
vẫn còn trống sau khi thực thi.
Có điều gì tôi đã bỏ lỡ không?
Đây là một phiên bản rút gọn của các mã:
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);
API có thay đổi từ phiên bản 6 thành phiên bản 7 không? Tôi đã thấy các ví dụ, chẳng hạn như http://www.mqseries.net/phpBB2/viewtopic.php?t=15159, nơi các lệnh được phát hành dưới dạng chuỗi thông điệp đơn giản. – slaphappy
Đối với người đọc gần đây hơn, xin lưu ý rằng z/OS hiện hỗ trợ PCF Quá. Đã làm từ V6. Các lệnh MQSC được đóng gói (còn được gọi là Escape PCF) không được và không bao giờ được hỗ trợ trên z/OS. Khi gửi lệnh MQSC tới z/OS, chúng không được đóng gói, chúng chỉ là các chuỗi được đặt thẳng vào hàng đợi. –
Cảm ơn bạn đã sửa, @Morag. Tuyệt vời để có bạn ở đây! –