我有一個mq集羣設置,有幾個隊列管理器,有些是完整的存儲庫,有些是部分存儲庫。
完整的存儲庫應該保存關於整個集羣的信息(元數據?)。
部分存儲庫將包含有關集羣的一些信息。
如何使用可編程命令格式收集有關整個羣集的信息?
關於主機,隊列管理器,全部或部分存儲庫,羣集隊列等信息....如何使用可編程命令格式獲取MQ羣集信息?
更新1
我曾嘗試下面的代碼,但這不返回集羣信息。
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 + "]");
最後一行輸出空值。下面
更新2 答案表明MQCMD_INQUIRE_CLUSTER_Q_MGR
相當於runmqsc 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獲取此信息?以上輸出是針對完整存儲庫隊列管理器的。
我不知道我可以說多少種方式。從代碼中刪除正在嘗試輸出INPUT ONLY屬性MQIACF_CLUSTER_INFO的代碼行,並將其替換爲我將您鏈接到所需的頁面上的任何屬性。您已經提供了顯示CLUSQMGR屬性,CLUSTER屬性和CHANNEL屬性的MQSC命令的輸出。這些可以在我的答案的鏈接頁面找到,但爲了幫助您,他們的PCF常量是MQCA_CLUSTER_Q_MGR_NAME,MQCA_CLUSTER_NAME,MQCACH_CHANNEL_NAME。 –