Я искал, можно ли собирать объекты объекта MQ, отличные от имен, с помощью команд PCF. Например, Если я хотел бы увидеть, где указывает QAlias или целевой объект Target, как мне создать команду PCF для выполнения этого?Команда IBM MQ PCF для сбора данных QAlias, таких как имя базового объекта цели
ответ
Используйте информацию в ссылке, которую Мораг дал вам и то, что нужно сделать что-то вроде:
agent = new PCFMessageAgent(qMgrName);
request = new PCFMessage(MQConstants.MQCMD_INQUIRE_Q);
request.addParameter(MQConstants.MQCA_Q_NAME, "*");
request.addParameter(MQConstants.MQIA_Q_TYPE, MQConstants.MQQT_ALIAS);
request.addParameter(MQConstants.MQIACF_Q_ATTRS,
new int [] { MQConstants.MQCA_Q_NAME, MQConstants.MQCA_BASE_NAME });
responses = agent.send (request);
Спасибо! Я делаю что-то вроде этого PCFParameter [] = параметров \t \t { \t \t нового MQCFST (CMQC.MQCA_Q_NAME, "*"), \t \t нового MQCFIN (CMQC.MQIA_Q_TYPE, CMQC.MQQT_ALIAS), \t \t нового MQCFIN (CMQCFC.MQIACF_Q_ATTRS, CMQC.MQCA_BASE_OBJECT_NAME)}; Это не работает! – sijo0703
Еще один вопрос? Как обрабатывать реакцию PCF. Я получаю ошибку 3020, когда я делаю это ниже. String [] qanames = (String []) ответы [0] .getParameterValue (MQConstants.MQCACF_Q_NAMES); – sijo0703
MQCACF_Q_NAMES не будет возвращен в команде MQCMD_INQUIRE_Q, только в MQCMD_INQUIRE_Q_NAMES. Чтобы вернуть атрибуты очереди, а не только имена списков, вы должны использовать MQCMD_INQUIRE_Q. См. Центр знаний для всех возвращаемых параметров и только getParameterValue на тех, которые на самом деле там. –
Есть команды PCF, которые являются эквивалентами всех команд MQSC. Поэтому, если вы можете сделать это с помощью MQSC, вы также можете добиться того же с PCF.
MQSC команда DISPLAY QALIAS(q-name) ALL
может быть сделано в ФКВ с помощью команды Запрос очереди - это MQCMD_INQUIRE_Q
и указав имя очереди вы хотите знать о в Queue Name MQCA_Q_NAME
параметра. Вы можете увидеть все возвращаемые параметры в Центре знаний.
Ссылка
Вы делаете это в Ява ? Или... ? – Nicholas
Да, я делаю это на Java. – sijo0703