使用 ClusterManager MBean 為 Liberty 伺服器產生合併的外掛程式配置
您可以呼叫 ClusterManager MBean generateClusterPluginConfig 作業來建立合併的單一 plugin-cfg.xml 檔,以指示 Web 伺服器外掛程式將要求重新導向到在多台主機上的多部應用程式伺服器。
關於這項作業
這個作業會先在每個已啟動的叢集成員上,產生伺服器特定的 plugin-cfg.xml 檔。 之後,這個作業會將伺服器特定的 plugin-cfg.xml 檔合併到叢集管理程式上的單一 plugin-cfg.xml 檔中。
只有在叢集至少有兩個已啟動的叢集成員時,這個作業才能運作。 叢集管理程式上合併的 plugin-cfg.xml 檔的路徑會傳回給用戶端。 因此,它可以利用 fileTransfer MBean 來下載。
合併的 plugin-cfg.xml 檔名是 <clusterName>-plugin-cfg.xml。
依預設,它儲存在叢集管理程式的下列目錄中:
${server.output.dir}/pluginConfig
在 server.xml 檔中提供 clusterPluginConfig 元素,可以改變這個目錄:
<clusterPluginConfig>
<outputDir>new output directory</outputDir>
</clusterPluginConfig>
註: 請確定 fileTransfer MBean 可以寫入及存取新的輸出目錄。
請參閱 fileTransfer MBean 文件,以取得詳細資料。
範例:
// 在 ClusterManager MBean 上呼叫 generateClusterPluginConfig 作業,// 針對所有已啟動叢集成員,產生一個合併的 plugin-cfg.xml 檔。
String clusterName = "myCluster";
ObjectName rmObjectName = new ObjectName("WebSphere:feature=collectiveController,type=ClusterManager,name=ClusterManager");
// rcObj 包含合併的 plugin-cfg.xml 檔的絕對路徑。
Object rcObj = connection.invoke(rmObjectName, "generateClusterPluginConfig",
new Object[] { clusterName },
new String[] { "java.lang.String" });
// 在 fileTransfer MBean 上呼叫 downloadFile 作業,將合併的 plugin-cfg.xml 檔下載到用戶端。
String sourceFilePath = (String) rcObj;
String targetFilePath = "<my target directory>";
ObjectName objectName = new ObjectName("WebSphere:feature=restConnector,type=FileTransfer,name=FileTransfer");
connection.invoke(objectName, "downloadFile",
new String[] { sourceFilePath, targetFilePath },
new String[] { "java.lang.String", "java.lang.String" });
請參閱 ClusterManager MBean 說明文件,以取得叢集管理的相關資訊。