2016-05-27 9 views
0

MQCMD_INQUIRE_CLUSTER_Q_MGRは、runmqsc DISPLAY CLUSQMGR(*)コマンドに相当しません。このコマンドの出力は次のとおりですMQCMD_INQUIRE_CLUSTER_Q_MGR pcf要求がクラスタ情報を返さない

display clusqmgr(*) 
    4 : display clusqmgr(*) 
AMQ8441: Display Cluster Queue Manager details. 
    CLUSQMGR(QM_FR1)      CHANNEL(TO.QM_FR1) 
    CLUSTER(CLUSTER1)      
AMQ8441: Display Cluster Queue Manager details. 
    CLUSQMGR(QM_FR2)      CHANNEL(TO.QM_FR2) 
    CLUSTER(CLUSTER1)      
AMQ8441: Display Cluster Queue Manager details. 
    CLUSQMGR(QM_PR1)      CHANNEL(TO.QM_PR1) 
    CLUSTER(CLUSTER1)      
AMQ8441: Display Cluster Queue Manager details. 
    CLUSQMGR(QM_PR2)      CHANNEL(TO.QM_PR2) 
    CLUSTER(CLUSTER1)      
AMQ8441: Display Cluster Queue Manager details. 
    CLUSQMGR(QM_PR3)      CHANNEL(TO.QM_PR3) 
    CLUSTER(CLUSTER1)      
AMQ8441: Display Cluster Queue Manager details. 
    CLUSQMGR(QM_PR3)      CHANNEL(TO.QM_PR3) 
    CLUSTER(CLUSTER1)      

私が提供したコードでは、PCFと同様の応答が期待されていましたが、この情報は得られません。 次のコードを試しましたが、これはクラスタ情報を返しません。

PCFMessageAgent agent = new PCFMessageAgent(queueManager); 
agent.setCheckResponses(false); 
PCFMessage[] responses; 
PCFMessage request = new PCFMessage(MQConstants.MQCMD_INQUIRE_CLUSTER_Q_MGR); 
request.addParameter(MQConstants.MQCA_CLUSTER_Q_MGR_NAME, queueManager); 

responses = agent.send(request); 
String clusterName = (String)responses[0].getParameterValue(MQConstants.MQCA_CLUSTER_NAME); 
String clusterInfo = (String)responses[0].getParameterValue(MQConstants.MQIACF_CLUSTER_INFO); 
logger.info("Cluster Name [" + clusterName + "]"); 
logger.info("Cluster Information [" + clusterInfo + "]"); 

最後の行がnullを出力します。


質問は です。この情報はPCFを使用してどのように取得できますか?上記の出力は、完全リポジトリ・キュー・マネージャ用です。

+0

可能な重複します(http: //stackoverflow.com/questions/37242592/how-to-get-mq-cluster-information-using-programmable-command-format) –

答えて

0

次のコードは、必要な情報を表示します。

 responses = agent.send(request); 
     for(int i=0; i < responses.length; i++) { 
      System.out.println("Cluster Queue manager [" + (String)responses[i].getParameterValue(MQConstants.MQCA_CLUSTER_Q_MGR_NAME) + "]");         
      System.out.println("Cluster Name [" + (String)responses[i].getParameterValue(MQConstants.MQCA_CLUSTER_NAME) + "]"); 
      System.out.println("Cluster Channel [" + (String)responses[i].getParameterValue(MQConstants.MQCACH_CHANNEL_NAME) + "]");          
     } 

出力は次のようになります[?プログラマブルコマンド形式を使用してMQクラスタ情報を取得する方法]の

Cluster Queue manager [QM1            ] 
Cluster Name [CLUS1           ] 
Cluster Channel [TO.QM1    ] 
関連する問題