Sun Java System Application Server 9.1 高可用性管理指南

Procedure以 Application Server 叢集啟用 MQ 叢集

開始之前

如果叢集的類型是 REMOTE,請執行下列步驟。如果叢集的類型是 LOCAL,則步驟 1 到步驟 4 不適用。

  1. 如果其中之一尚不存在,則建立 Application Server 叢集。

    如需有關建立叢集的資訊,請參閱建立叢集

  2. 建立 MQ 代理程式叢集。

    首先,刪除參照由網域管理伺服器啟動的代理程式的預設 JMS 主機,然後,建立三個要包含在 MQ 代理程式叢集中的外部代理程式 (JMS 主機)。

    使用管理主控台或 asadmin 指令行公用程式建立 JMS 主機。

    若要使用 asadmin,請參照以下的指令範例︰


    asadmin delete-jms-host --target cluster1 default_JMS_host
    asadmin create-jms-host --target cluster1
         --mqhost myhost1 --mqport 6769
         --mquser admin --mqpassword admin broker1
    asadmin create-jms-host --target cluster1
         --mqhost myhost2 --mqport 6770
         --mquser admin --mqpassword admin broker2
    asadmin create-jms-host --target cluster1
         --mqhost myhost3 --mqport 6771
         --mquser admin --mqpassword admin broker3

    若要使用管理主控台建立主機,請執行以下步驟︰

    1. 導覽至 [JMS 主機] 節點 ([配置] > [config-name] > [Java 訊息服務] > [JMS 主機])。

    2. 刪除預設代理程式 (default_JMS_host)。

      選取該代理程式旁邊的核取方塊,然後按一下 [刪除]。

    3. 按一下 [新建] 以建立每個 JMS 主機並輸入其特性值。

      填入主機名稱、DNS 名稱或 IP 位址、連接埠號碼、管理使用者名稱和密碼的值。

  3. 啟動主 MQ 代理程式和其他 MQ 代理程式。

    除了在 JMS 主機電腦上啟動三個外部代理程式以外,在任一機器上啟動一個主代理程式。此主代理程式不必為代理程式叢集的一部分。例如︰


    /usr/bin/imqbrokerd -tty -name brokerm -port 6772
     -cluster myhost1:6769,myhost2:6770,myhost2:6772,myhost3:6771
     -D"imq.cluster.masterbroker=myhost2:6772"
  4. 啟動該叢集中的 Application Server 實例。

  5. 在叢集上建立 JMS 資源︰

    1. 建立 JMS 實體目標。

      例如,使用 asadmin


      asadmin create-jmsdest --desttype queue --target cluster1 MyQueue
      asadmin create-jmsdest --desttype queue --target cluster1 MyQueue1

      若要使用管理主控台,請執行以下步驟︰

      1. 導覽至 [JMS 主機] 頁面 ([配置] > [config-name] > [Java 訊息服務] > [實體目標])。

      2. 按一下 [新建] 以建立每個 JMS 實體目標。

      3. 對於每個目標,輸入其名稱和類型 (佇列)。

    2. 建立 JMS 連線工廠。

      例如,使用 asadmin


      asadmin create-jms-resource --target cluster1
      --restype javax.jms.QueueConnectionFactory jms/MyQcf
      asadmin create-jms-resource --target cluster1
      --restype javax.jms.QueueConnectionFactory jms/MyQcf1

      若要使用管理主控台,請執行以下步驟︰

      1. 導覽至 [JMS 連線工廠] 頁面 ([資源] > [JMS 資源] > [連線工廠])。

      2. 若要建立每個連線工廠,按一下 [新建]。

        將開啟 [建立 JMS 連線工廠] 頁面。

      3. 對於每個連線工廠,輸入 JNDI 名稱 (例如 jms/MyQcf) 和類型 javax.jms.QueueConnectionFactory

      4. 從該頁面底部可用目標的清單中選取叢集,然後按一下 [增加]。

      5. 按一下 [確定] 以建立連線工廠。

    3. 建立 JMS 目標資源。

      例如,使用 asadmin


      asadmin create-jms-resource --target cluster1
           --restype javax.jms.Queue
           --property imqDestinationName=MyQueue jms/MyQueue
      asadmin create-jms-resource --target cluster1
           --restype javax.jms.Queue
           --property imqDestinationName=MyQueue1 jms/MyQueue1

      若要使用管理主控台,請執行以下步驟︰

      1. 導覽至 [JMS 目標資源] 頁面 ([資源] > [JMS 資源] > [連線工廠])。

      2. 若要建立每個目標資源,按一下 [新建]。

        將開啟 [建立 JMS 目標資源] 頁面。

      3. 對於每個目標資源,輸入 JNDI 名稱 (例如 jms/MyQueue) 和類型 javax.jms.Queue

      4. 從該頁面底部可用目標的清單中選取叢集,然後按一下 [增加]。

      5. 按一下 [確定] 以建立目標資源。

  6. 使用 –retrieve 選項為應用程式用戶端部署應用程式。例如︰


    asadmin deploy --target cluster1 
    --retrieve /opt/work/MQapp/mdb-simple3.ear
  7. 存取應用程式並對其進行測試,以確保其正常運作。

  8. 若要將 Application Server 復原為其預設 JMS 配置,請刪除您建立的 JMS 主機,然後重新建立預設。例如︰


    asadmin delete-jms-host --target cluster1 broker1
    asadmin delete-jms-host --target cluster1 broker2
    asadmin delete-jms-host --target cluster1 broker3
    asadmin create-jms-host --target cluster1
     --mqhost myhost1 --mqport 7676
     --mquser admin --mqpassword admin
     default_JMS_host

    您也可使用管理主控台執行等效作業。

疑難排解

如果遇到問題,請考量以下作業︰