啟用叢集的靜態遞送

如果停用了高可用性基礎架構,且您需要 IIOP 遞送功能,您可以建立靜態遞送表,供叢集成員用來處理 Enterprise Bean 要求。 由於這個靜態遞送表所包含的資訊並無法說明伺服器執行時期狀態,因此,在啟用高可用性基礎架構之後,您應該儘快刪除這份表格,重新使用動態遞送表。

開始之前

在建立靜態遞送表之前,請確定:
  • 在每個叢集成員上,ORB_LISTENER_ADDRESS 埠都是設成非零值。 由於您建立的遞送表是靜態的,且在狀態變更期間,叢集成員不會通訊,因此,如果您未設定每個叢集成員的 ORB_LISTENER_ADDRESS 埠,叢集成員有可能在不同的埠上重新啟動,這時將無法正確遞送 IIOP 要求。
    如果要變更所指定的 ORB_LISTENER_ADDRESS 埠值,請執行下列動作:
    1. 在管理主控台中,按一下伺服器 > 伺服器類型 > WebSphere Application Server > server_name,然後在「通訊」之下,按一下
    2. 在「埠名稱」欄位中,按一下 ORB_LISTENER_ADDRESS
    3. 將指定給「埠」欄位的值改成大於 0 的值。
  • 每個叢集成員都已啟動,且能夠利用這些新的非零 ORB_LISTENER_ADDRESS 埠值來正確遞送 IIOP 要求。

關於這項作業

您只應在停用高可用性基礎架構且需要 IIOP 遞送功能時,才建立靜態遞送表。如果要建立靜態遞送表,請執行下列動作:

程序

  1. 如果 wsadmin 工具不在執行中,請啟動 wsadmin 工具。
  2. 識別您在建立遞送表之叢集的叢集受管理的 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
  3. 匯出遞送表。
    • 使用 Jacl:
      $AdminControl invoke $cluster exportRouteTable
    • 使用 Jython:
      AdminControl.invoke(cluster, ‘exportRouteTable’)
    建立好表格之後,會在類似下列訊息的訊息中,顯示遞送表檔案的名稱:
    /home/myInstall/was/server/profiles/dmgrProfile/config/cells/mycell/
       clusters/cluster1/cluster1.wsrttbl

    如這個訊息所說明,表格所在檔案放在這個叢集之部署管理程式的 config 目錄中。您應該保存這個位置的記錄,以便在準備好開始重新使用動態遞送時,刪除這個檔案。

  4. 在各節點之間,將配置變更同步化。
    1. 清除配置儲存庫 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')
    2. 對於您要同步化的每一個節點重複此程序。
  5. 停止叢集。 請遵循停止叢集利用 Scripting 停止叢集主題中所指定的指示。
  6. 結束 wsadmin 工具。
  7. 請利用下列附加到 startServer 指令的「除錯」旗標來手動啟動這個叢集的每個成員。
    -Dcom.ibm.websphere.management.registerServerIORWithLSD=false

    比方說,如果要在已啟用靜態遞送的 Windows 作業系統上啟動 server1,請從伺服器設定檔的 bin 目錄發出下列指令:

    startServer.bat server1 -Dcom.ibm.websphere.management.registerServerIORWithLSD=false

結果

叢集成員會利用靜態遞送表來執行 IIOP 遞送。

下一步

啟用了高可用性基礎架構之後,請遵循停用叢集的靜態遞送主題中的指示來停用靜態遞送。 當停用靜態遞送時,叢集成員會回復使用動態遞送。

指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_wlm_cluster_routetable
檔名:trun_wlm_cluster_routetable.html