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

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

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

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

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

これらの設定は、JMS 接続ファクトリ設定を使用してオーバーライドできます。詳細については、『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド』「JMS 接続ファクトリに関する管理コンソールタスク」を参照してください。

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

Application Server は同じ ClientID を持つ MDB にメッセージをランダムに配信します。ClientID は永続的なサブスクライバには必須です。

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

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