如果停用了高可用性基礎架構,且您需要 IIOP 遞送功能,您可以建立靜態遞送表,供叢集成員用來處理 Enterprise Bean 要求。
由於這個靜態遞送表所包含的資訊並無法說明伺服器執行時期狀態,因此,在啟用高可用性基礎架構之後,您應該儘快刪除這份表格,重新使用動態遞送表。
開始之前
在建立靜態遞送表之前,請確定:
- 在每個叢集成員上,ORB_LISTENER_ADDRESS 埠都是設成非零值。
由於您建立的遞送表是靜態的,且在狀態變更期間,叢集成員不會通訊,因此,如果您未設定每個叢集成員的 ORB_LISTENER_ADDRESS 埠,叢集成員有可能在不同的埠上重新啟動,這時將無法正確遞送 IIOP 要求。
如果要變更所指定的 ORB_LISTENER_ADDRESS 埠值,請執行下列動作:
- 在管理主控台中,按一下 server_name,然後在「通訊」之下,按一下埠。
- 在「埠名稱」欄位中,按一下 ORB_LISTENER_ADDRESS。
- 將指定給「埠」欄位的值改成大於 0 的值。
- 每個叢集成員都已啟動,且能夠利用這些新的非零 ORB_LISTENER_ADDRESS 埠值來正確遞送 IIOP 要求。
關於這項作業
您只應在停用高可用性基礎架構且需要 IIOP 遞送功能時,才建立靜態遞送表。如果要建立靜態遞送表,請執行下列動作:
程序
- 如果 wsadmin 工具不在執行中,請啟動 wsadmin 工具。
- 識別您在建立遞送表之叢集的叢集受管理的 Bean (MBean),將這個 MBean 指派給某個變數。
- 使用 Jacl:
set cluster [$AdminControl completeObjectName cell=
cell_name,type=Cluster,name=cluster_name,*]
puts $cluster
- 使用 Jython:
cluster = AdminControl.completeObjectName('cell=
cell_name,type=Cluster,name=cluster_name,*')
print cluster
這些指令會傳回指定叢集之叢集 MBean 的名稱。
比方說,如果是 cluster1 叢集,這些指令的輸出會類似下列訊息:
WebSphere:cell=mycell,name=cluster1,mbeanIdentifier=Cluster,type=
Cluster,process=cluster1
- 匯出遞送表。
建立好表格之後,會在類似下列訊息的訊息中,顯示遞送表檔案的名稱:
/home/myInstall/was/server/profiles/dmgrProfile/config/cells/mycell/
clusters/cluster1/cluster1.wsrttbl
如這個訊息所說明,表格所在檔案放在這個叢集之部署管理程式的 config 目錄中。您應該保存這個位置的記錄,以便在準備好開始重新使用動態遞送時,刪除這個檔案。
- 在各節點之間,將配置變更同步化。
- 清除配置儲存庫 Epoch。 如果您未清除配置儲存庫 Epoch,則同步化只會更新配置服務元件編輯的檔案,這不包括包含靜態遞送表格的檔案。
使用 Jacl:
set configRepository [$AdminControl completeObjectName
node=node_name,type=ConfigRepository,*]
$AdminControl invoke $configRepository refreshRepositoryEpoch
使用 Jython:
configRepository = AdminControl.completeObjectName('node=node_name,
type=ConfigRepository,*')
AdminControl.invoke(configRepository, 'refreshRepositoryEpoch')
- 對於您要同步化的每一個節點重複此程序。
- 停止叢集。 請遵循停止叢集或利用 Scripting 停止叢集主題中所指定的指示。
- 結束 wsadmin 工具。
- 請利用下列附加到 startServer 指令的「除錯」旗標來手動啟動這個叢集的每個成員。
-Dcom.ibm.websphere.management.registerServerIORWithLSD=false
比方說,如果要在已啟用靜態遞送的 Windows 作業系統上啟動 server1,請從伺服器設定檔的 bin 目錄發出下列指令:
startServer.bat server1 -Dcom.ibm.websphere.management.registerServerIORWithLSD=false
結果
叢集成員會利用靜態遞送表來執行 IIOP 遞送。
下一步
啟用了高可用性基礎架構之後,請遵循
停用叢集的靜態遞送主題中的指示來停用靜態遞送。
當停用靜態遞送時,叢集成員會回復使用動態遞送。