Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド

接続プールとフェイルオーバー

Enterprise Server は JMS 接続プールとフェイルオーバーをサポートします。Sun GlassFish Enterprise Server は JMS 接続を自動的にプールします。「アドレスリストの動作」属性が random (デフォルト) である場合、Enterprise Server は主ブローカを JMS ホストリストからランダムに選択します。フェイルオーバーが発生すると、MQ は負荷を別のブローカに透過的に転送し、JMS セマンティクスを保持します。JMS タイプが LOCAL タイプの場合、「アドレスリストの動作」属性のデフォルト値は priority です。

接続が失われたときに Enterprise Server が主ブローカへの再接続を試行するかどうかを指定するには、「再接続」チェックボックスを選択します。再接続を有効に設定した状態で、主ブローカが停止すると、Enterprise Server は JMS ホストリストにある別のブローカへの再接続を試みます。

「再接続」を有効にする場合には、以下の属性も指定します。

これらの設定は、JMS 接続ファクトリ設定を使用してオーバーライドできます。詳細については、『Sun GlassFish Enterprise Server 2.1 管理ガイド』「JMS 接続ファクトリ」を参照してください。

負荷分散されたメッセージのインフロー

メッセージ駆動型 Bean の sun-ejb-jar.xml ファイル内の activation-config-property 要素を使用して、jmsra リソースアダプタの ActivationSpec プロパティーを設定できます。メッセージ駆動型 Bean (EndPointFactory) が配備されるたびに、コネクタランタイムエンジンがこれらのプロパティーを検出し、それに従ってリソースアダプタ内でそれらのプロパティーを設定します。『Sun GlassFish Enterprise Server 2.1 Application Deployment Guide』「activation-config-property」を参照してください。

Enterprise Server はメッセージが同じ ClientID を持つメッセージ駆動型 Bean にランダムに配信されることを透過的に有効にします。ClientID は永続的なサブスクライバには必須です。

ClientID が設定されない非永続サブスクライバに対しては、同じトピックをサブスクライブする特定のメッセージ駆動型 Bean のすべてのインスタンスは同等であると見なされます。メッセージ駆動型 Bean が Enterprise Server の複数のインスタンスに配備される場合、メッセージ駆動型 Bean のうちの 1 つだけがメッセージを受信します。複数の異なるメッセージ駆動型 Bean が同じトピックをサブスクライブすると、メッセージ駆動型 Bean ごとに 1 つのインスタンスがメッセージのコピーを受信します。

同じキューを使用する複数のコンシューマをサポートするには、物理送信先の maxNumActiveConsumers プロパティーを大きい値に設定します。このプロパティーを設定すると、Sun メッセージキュー ソフトウェアは、プロパティーに設定した数までのメッセージ駆動型 Bean が同じキューからメッセージを消費することを許可します。メッセージはそれらのメッセージ駆動型 Bean にランダムに配信されます。maxNumActiveConsumers-1 に設定した場合は、コンシューマの数に制限はありません。

ローカル配信が優先されることを保証するには、addresslist-behavior を priority に設定します。この設定は、AddressList 内の最初のブローカが最初に選択されることを指定します。この最初のブローカは、ローカルで共存する メッセージキュー インスタンスです。このブローカが利用できない場合、AddressList 内で列挙されている順序でブローカへの接続試行が行われます。この設定は、クラスタに属する Enterprise Server インスタンスに対するデフォルトです。


注 –

クラスタ化機能は開発者プロファイルでは利用できません。プロファイルの詳細については、『Sun GlassFish Enterprise Server 2.1 管理ガイド』「プロファイル」を参照してください。


JMS サービスの高可用性

JMS コンポーネントには、次の2 つのレベルの可用性があります。

データ可用性は、Java Message Service (JMS) に準拠する Sun GlassFish メッセージキュー クラスタで有効にできます。メッセージは共通の持続性ストアに維持されます。高可用性データベース (HADB) がインストールされ、エンタープライズプロファイルが選択されている場合は、HADB からこれらのメッセージを利用できます。プロファイルの詳細については、『Sun GlassFish Enterprise Server 2.1 管理ガイド』「プロファイル」を参照してください。対応するブローカに対してデータ可用性を有効にする前に、Enterprise Server インスタンスに対して可用性を有効にする必要があります。


注 –

個別のアプリケーションおよびモジュールは、JMS の可用性を制御またはオーバーライドできません。


データ可用性を有効にするには、管理コンソールの関連する設定下で「可用性サービス」コンポーネントを選択します。「可用性サービス」ボックスにチェックマークを付けます。JMS サービスの可用性を有効にするには、「JMS の可用性」タブを選択して「可用性サービス」ボックスにチェックマークを付けます。動作の一貫性を保証するために、Enterprise Server クラスタ内のすべてのインスタンスで、インスタンス可用性および JMS 可用性の設定を統一してください。詳細については、『Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド』を参照してください。


注 –

クラスタ化機能は開発者プロファイルでは利用できません。プロファイルの詳細については、『Sun GlassFish Enterprise Server 2.1 管理ガイド』「プロファイル」を参照してください。