您可以在抄本集中配置一個群體控制器 server.xml 併入檔,並自動更新抄本集中其他抄本的配置。自動讓配置共用的意義在於,您不需手動更新其他抄本的配置。對於使用自動調整功能的群體,自動讓配置共用尤其好用。
關於這項作業
您可以將控制器配置的併入檔放到該控制器的 configDropins/defaults 目錄中,來自動更新抄本的配置。或者,您可以使用 ControllerConfigMBean 作業,來列出、新增或移除某個群體控制器的共用配置檔。
程序
- 利用您想在抄本之間共用的配置,為控制器建立 configDropins 目錄。
如果抄本集的控制器還沒有
configDropins/defaults 目錄,請為該控制器建立
$WLP_USER_DIR/servers/server_name/configDropins/defaults 目錄。
註: 如需
configDropins 子目錄中各檔案的優先順序的相關資訊,請參閱
使用配置 dropins 資料夾來指定伺服器配置。這個主題會提及
configDropins/defaults 目錄和
configDropins/overrides 目錄兩者。放到
configDropins/overrides 目錄中的控制器配置不會在抄本之間共用。如果要在抄本之間共用配置,必須使用
configDropins/defaults 目錄。
- 與抄本集中的其他抄本共用控制器配置。
- 將抄本集控制器的配置放到其 configDropins/defaults 目錄中。
比方說,將控制器的 server.xml 併入檔複製到其 configDropins/defaults 目錄。
- 使用 ControllerConfigMBean 作業來列出、新增或移除群體控制器的共用配置檔。
配置檔儲存在控制器的
$WLP_USER_DIR/servers/server_name/configDropins/defaults 目錄中,並且供抄本的 configDropins/defaults 目錄共用。
請使用 Jython Script 或 Java 用戶端(例如 JConsole),來執行下列的群體控制器 ControllerConfigMBean 作業:
- listSharedConfig
- listSharedConfig 作業列出抄本共用配置目錄中的檔案。
- addSharedConfig
- addSharedConfig 作業會在檔案中新增配置,並將檔案儲存在每一個抄本的 configDropins/defaults 目錄中。您必須為作業指定兩個參數:
- fileName
- 要共用的控制器配置的檔名。如果您指定的檔名已存在於共用配置目錄中,會改寫現有的檔案。(字串)
- config
- 有效 server.xml 併入檔的內容。(字串)
例如:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<logging traceSpecification="com.ibm.ws.collective.repository.internal.SharedConfigManager=all"/>
</server>
- removeSharedConfig
- removeSharedConfig 作業會將檔案從每一個抄本的
configDropins/defaults 目錄移除。您必須為作業指定下列參數:
- fileName
- 要從每一個抄本之共用配置目錄刪除的控制器配置的檔名。(字串)
控制器配置會自動與抄本集中其他每一個抄本的配置 dropins 目錄同步化。當您在會自動共用其配置的控制器中新增抄本時,會將該控制器的 configDropins/defaults 目錄內容抄寫到新的抄本。您對某部控制器的調整原則定義所做的任何變更,會自動與其他抄本之配置 dropins 目錄中的配置同步化。
如果控制器配置不會自動與其他抄本的配置同步化,請檢查控制器與抄本的日誌。此外,如果您使用 configDropins/defaults 目錄來共用控制器配置,請確定配置監視未關閉。依預設,會啟用配置監視。如果配置監視已停用,您可以使用 FileNotificationMBean,讓控制器獲知配置變更,然後與抄本共用這些變更。不論是否啟用配置監視,ControllerConfigMBean 作業所儲存的配置會自動供抄本共用。請參閱 控制動態更新。
範例:使用 JConsole 在抄本之間共用控制器配置
這個範例說明如何使用 JConsole,與所有抄本共用控制器 configDropins/defaults 目錄中的 server.xml 併入檔:
- 將 JConsole 連接至群體控制器程序。
- 確定群體控制器正在執行。
wlp/bin/server status collective_controller_name
抄本不一定要正在執行。不在執行中的抄本會在啟動時,將共用的配置同步化。
- 如果 JConsole 不是執行中,請啟動它。在 Windows 上,執行 Java_installation\bin\jconsole.exe 檔。
- 選取群體控制器程序。
使用 JConsole 時,如果要搭配使用 REST Connector,以便透過基礎 HTTPS 連線從遠端存取 MBean,請參閱在 Liberty 中建立遠端 JMX 連線。
- 在 JConsole 中執行 ControllerConfigMBean addSharedConfig 作業,將控制器 server.xml 併入檔新增至每一個抄本的 configDropins/defaults 目錄中。
- 在 JConsole MBean 標籤上,選取
ControllerConfigMBean addSharedConfig 作業。
- 對於 fileName,請指定 server.xml 併入檔的路徑;例如:
$WLP_USER_DIR/servers/collective_controller_name/trace.xml
- 對於 config,請指定要新增的配置;例如:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<logging traceSpecification="com.ibm.ws.collective.repository.internal.SharedConfigManager=all"/>
</server>
- 按一下 addSharedConfig,執行作業。
- 確認作業已順利在抄本之間共用控制器配置。