2016-05-15 9 views
0

いくつかのキュー・マネージャーを持つmqクラスター・セットアップがあり、いくつかは完全リポジトリーであり、一部は部分リポジトリーです。
完全なリポジトリは、クラスタ全体に関する情報(メタデータ?)を保持することになっています。
部分的なリポジトリには、クラスタに関する情報が保持されます。
プログラマブルコマンドフォーマットを使用してクラスタ全体に関する情報を収集するにはどうすればよいですか?ホスト、キュー・マネージャ、完全かつ部分的リポジトリ、クラスタキューなどに関する
情報....私は、次のコードを試してみましたが、これはクラスタの情報を返さない1
プログラマブルコマンドフォーマットを使用してMQクラスタ情報を取得する方法は?

を更新。

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を出力します。

アップデート2 答えは以下MQCMD_INQUIRE_CLUSTER_Q_MGRrunmqsc DISPLAY CLUSQMGR(*)コマンドと等価であることを示唆しています。このコマンドの出力は次のとおりです

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と同様の応答が期待されていましたが、この情報は得られません。
質問は です。この情報はPCFを使用してどのように入手できますか?上記の出力は、完全リポジトリ・キュー・マネージャ用です。

+0

私はこれを何通り言い得るのか分かりません。コードからINPUT ONLY属性MQIACF_CLUSTER_INFOを印刷しようとしている行を削除し、リンク先のページの属性のうち必要なものと置き換えてください。 CLUSQMGR属性、CLUSTER属性、およびCHANNEL属性を示すMQSCコマンドの出力を提供しています。これらは私の答えのリンクされたページにありますが、あなたを助けるために、彼らのPCF定数はMQCA_CLUSTER_Q_MGR_NAME、MQCA_CLUSTER_NAME、MQCACH_CHANNEL_NAMEです。 –

答えて

3

は、次のPCFコマンドMQSCコマンドDISPLAY CLUSQMGRのと同じです

  • に問い合わせるクラスタキュー・マネージャー(MQCMD_INQUIRE_CLUSTER_Q_MGR)を使用します。リンクされたページでは、ClusterQMgrAttrsのセクションにリストされているすべての可能な出力パラメータを見ることができます。 MQIACF_CLUSTER_INFOの値(INPUT-ONLYパラメーター)を取得しようとしているコード内の行を削除し、その行をそのセクションにリストされているいずれかのパラメーターに置き換えて、必要な情報このクラスター・キュー・マネージャーについて
  • MQIACコマンドDISPLAY QUEUE(*) CLUSINFOに相当するMQIACF_CLUSTER_INFOパラメータを使用してキュー(MQCMD_INQUIRE_Q)を照会してください。 MQIACF_CLUSTER_INFOパラメーターは、このコマンドの入力修飾子であり、クラスター・キューとローカル・キューが応答として戻されることに注意してください。

正しいリポジトリ・キュー・マネージャーのみがクラスターに関するすべてを知っているので、フル・イメージを取得するには、そのキュー・マネージャーに対して問合せを行う必要があります。

+0

MQIACF_CLUSTER_INFOパラメータがInquire Cluster Queue Manager上にのみあり、値がnullで返されました。何か案は? – Ajay

+0

私は少し私の答えを更新しました。Inquire QueueでCLUSINFOパラメーターを使用できます。同等のMQSCコマンドを発行すれば、これを見ることができます。値がnullであると言うとき、あなたはどういう意味ですか?値または何がnullでしたか? QMgrから返ってきた応答がゼロであることを意味しますか? –

+0

MQIACF_CLUSTER_INFOでgetParamterValueを実行すると、NULL値が返されます。コンソールに印刷すると、「ヌル」が印刷されます。私は完全なリポジトリQMに対してこれを実行しています。このクラスタにはまだQがありませんが、inquireクラスタコマンドはまだ動作するはずです。 – Ajay

関連する問題