2017-03-13 4 views
0

Java로 MQ 서버 (또는 MQ 대기열 관리자 또는 채널)의 모든 클라이언트를 표시 할 수 있습니까? 때로는 너무 많은 연결이 있고 그것을 모니터링해야하기 때문에. Java로 MQ 클라이언트 목록을 표시하는 방법은 무엇입니까?

나는 com.ibm.mq.MQQueueManager ( https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.javadoc.doc/WMQJavaClasses/com/ibm/mq/MQQueueManager.html) 내가 큐 깊이를 얻을하는 데 사용할 수의 API를 확인,하지만 난 (예 : IP 주소) 클라이언트 연결 정보를 얻을 수없는 그것의를.

IP 주소를 가져올 수 없다면 "연결 수"만 얻을 수 있습니까?

+0

어쩌면 거기에 REST API가 있습니까? – Zarathustra

+0

이렇게하려면 IBM MQ PCF 인터페이스를 사용하십시오. 이것에 대한 많은 Java 예제가 있습니다. – JoshMc

답변

2

Java를 통해 MQ PCF를 사용해야합니다.

request = new PCFMessage(CMQCFC.MQCMD_INQUIRE_CHANNEL_STATUS); 
request.addParameter(CMQCFC.MQCACH_CHANNEL_NAME, "TEST.CHL"); 
request.addParameter(CMQCFC.MQIACH_CHANNEL_INSTANCE_TYPE, CMQC.MQOT_CURRENT_CHANNEL); 
request.addParameter(CMQCFC.MQIACH_CHANNEL_INSTANCE_ATTRS, 
        new int [] 
        { 
         CMQCFC.MQCACH_CHANNEL_NAME, 
         CMQCFC.MQCACH_CONNECTION_NAME, 
         CMQCFC.MQIACH_CHANNEL_STATUS, 
         CMQCFC.MQIACH_CHANNEL_SUBSTATE, 
         CMQCFC.MQIACH_MSGS, 
         CMQCFC.MQCACH_LAST_MSG_DATE, 
         CMQCFC.MQCACH_LAST_MSG_TIME, 
         CMQCFC.MQCACH_CHANNEL_START_DATE, 
         CMQCFC.MQCACH_CHANNEL_START_TIME, 
         CMQCFC.MQIACH_BYTES_SENT, 
         CMQCFC.MQIACH_BYTES_RECEIVED, 
         CMQCFC.MQIACH_BUFFERS_SENT, 
         CMQCFC.MQIACH_BUFFERS_RECEIVED, 
         CMQCFC.MQIACH_MCA_STATUS, 
         CMQCFC.MQCACH_MCA_JOB_NAME, 
         CMQCFC.MQCACH_MCA_USER_ID 
        }); 

responses = agent.send(request); 
+0

"responds"는 CMQCFC입니까? API 문서를 찾으려고하지만 연결 개수 또는 연결 목록이 무엇인지 확실하지 않습니다. 그걸 조언 해 줄 수 있니? https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.javadoc.doc/WMQJavaClasses/com/ibm/mq/constants/CMQCFC.html – Dennys

+0

OMG. 먼저 여기에서 시작하십시오 : https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q030980_.htm - 둘째, 오픈 된 코드 스 니펫을 복사하여 붙여 넣었습니다 소스 프로젝트 인 MQ Channel Monitor (http://www.capitalware.com/mqcm_overview.html)를 방문하여 소스 코드를 다운로드하고 MQ PCF 매뉴얼을 읽으십시오. – Roger

+0

작동합니다.이 코드를 사용하여 connections.length를 얻고 MQCACH_CONNECTION_NAME을 사용하여 IP 주소를 얻습니다. 감사합니다. – Dennys