Получить IP-адрес потребителей, которые подключились к очереди IBM MQ по запросу PCF из Java
Я знаю, что графический интерфейс пользователя MQExplorer может показать, кто подключен к какой-либо очереди по какому-либо каналу, и другую информацию об этом соединении, но я не нашел ничего в PCF, чтобы сделать это с Java.
Заранее спасибо за команды и примеры, если они существуют!
2 ответа
Решение
Это показывает пример кода показывает, как получить conname
,
// Create the PCF message type for the inquire.
PCFMessage pcfCmd = new PCFMessage(MQConstants.MQCMD_INQUIRE_Q_STATUS);
// Add queue name
pcfCmd.addParameter(MQConstants.MQCA_Q_NAME, "MYQ");
// We want Q HANDLE attributes
pcfCmd.addParameter(MQConstants.MQIACF_Q_STATUS_TYPE, MQConstants.MQIACF_Q_HANDLE);
// We want to retrieve only the connection name
pcfCmd.addParameter(MQConstants.MQIACF_Q_STATUS_ATTRS, MQConstants.MQCACH_CONNECTION_NAME);
// Execute the command. The returned object is an array of PCF messages.
PCFMessage[] pcfResponse = pcfCM.agent.send(pcfCmd);
try{
for(int i = 0; i < pcfResponse.length;i++){
String name = (String) pcfResponse[i].getParameterValue(MQConstants.MQCACH_CONNECTION_NAME);
System.out.println("Connection Name: " + name);
}
}catch(Exception ex) {
System.out.print(ex);
}
Вы можете изменить фрагмент в соответствии с вашими потребностями. Надеюсь, поможет.
В MQ Explorer вы видите команду MQSC:
DISPLAY QSTATUS(<QName>) TYPE(HANDLE)
Итак, вам нужно найти эквивалентную команду PCF.