Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

- Previous: 接続プールとフェイルオーバー
- Next: 第 10 章 RMI-IIOP 負荷分散とフェイルオーバー

## Application Server クラスタで MQ クラスタを使用可能にするには

1. Application Server クラスタを作成します (まだクラスタがない場合)。

   クラスタの作成については、「クラスタを作成するには」を参照してください。

2. MQ ブローカクラスタを作成します。

   まず、ドメイン管理サーバーによって起動されるブローカを参照するデフォルト JMS ホストを削除してから、MQ ブローカクラスタに 3 つの外部ブローカ (JMS ホスト) を作成します。

   JMS ホストの作成は、管理コンソールまたは `asadmin` コマンド行ユーティリティーのいずれかを使用して行います。

   `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 ホストマシン上で起動する 3 つの外部ブローカに加えて、任意のマシン上で 1 つのマスターブローカを起動します。このマスターブローカは、ブローカクラスタの一部である必要はありません。次に例を示します。

       /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

   管理コンソールを使用して、これに相当する操作を実行することもできます。

##### 注意事項

問題が起きた場合は、次の点を考慮してください。

- Application Server ログファイルを表示します。MQ ブローカがメッセージに応答しないとログファイルに記録されている場合は、ブローカを停止してから再起動します。

- 必ず MQ ブローカを先に起動してから、Application Server インスタンスを起動します。

- すべての MQ ブローカが停止した場合、Java Message Service のデフォルト値では、Application Server の停止または起動までに 30 分かかります。Java Message Service の値を調整して、このタイムアウトを許容できる値にしてください。次に例を示します。

      asadmin set --user admin --password administrator
      cluster1.jms-service.reconnect-interval-in-seconds=5

- Previous: 接続プールとフェイルオーバー
- Next: 第 10 章 RMI-IIOP 負荷分散とフェイルオーバー

- © 2010, Oracle Corporation and/or its affiliates