このタスクを使用して、最適化されたローカル・アダプターで高可用性サポートを使用できるようにします。
始める前に
最適化されたローカル・リソース・アダプターは、WebSphere® Application Server の高可用性サポートに参加しています。このサポートにより、接続ファクトリー・プールのカスタム・プロパティーで代替接続ファクトリーの JNDI 名を指定することができます。
重要: 高可用性サポートを適切に機能させるには、プライマリーおよび代替の両方のリソース接続ファクトリーの接続ファクトリー登録名属性を使用して、管理対象接続にリソースの登録名を指定する必要があります。setRegisterName() メソッドを使用すると、代替リソースは制御を取得しません。
最適化されたローカル・アダプターの高可用性サポートを使用するには、以下のステップを実行します。
手順
- alternateResourceJNDIName プロパティーを、接続ファクトリーの接続プール・プロパティーに追加します。代替のリソース接続ファクトリーの JNDI 名を指定します。
例えば、1 次 JNDI が eis/ola であり、代替の JNDI を eis/ola_backup としたい場合は、alternateResourceJNDIName プロパティーを eis/ola_backup に設定し、このプロパティーを eis/ola 接続ファクトリーの接続プール・プロパティーに追加します。
- この代替接続ファクトリーの登録名に関連付けられている外部のアドレス・スペースが、フェイルオーバーに使用できるようになっていることを確認します。
アプリケーションがリソースを取得するために getconnection() 要求を実行しても、ターゲット登録が使用できないためにそれが失敗する場合、最適化されたローカル・アダプター・リソースのフェイルオーバー・プロセスが起動されます。このプロセスでは、代わりに代替の JNDI リソース名が getconnection() に使用されます。フェイルオーバーが試行されるまでに許される試行の失敗の回数は、もう 1 つの接続プール・プロパティーである failurethreshold を追加することにより設定できます。しきい値を 1 に設定すると、接続の取得を一度だけ試みてそれが失敗すると (リソース例外が発生します)、以降の要求は代替接続ファクトリーに経路指定されます。
フェイルオーバー・イベントは代替 JNDI 名と登録名を使用して、後続の要求を代替リソースへ送信するプロセスをトリガーします。さらに、1 次リソースが再び使用可能になっているかどうかを判別するため、WebSphere Application Server 接続管理から 10 分毎に要求を送信するポーリング・プロセスを開始します。また、WebSphere Application Server 接続管理は、WebSphere Application Server サーバント・ログに、代替リソースへのフェイルオーバーと、1 次リソースへのスイッチバックの発生を通知するメッセージを送信することができます。接続ファクトリーの接続プールの failureNotificationActionCode プロパティーを使用して、どの通知が必要かを選択できます。
デフォルト値である 1 は、メッセージがサーバント・ジョブ・ログに送信されることを示します。詳しくは、トピック『データ・ソースと接続ファクトリー取得のためのリソース・ルーティング (Resource routing for data source and connection factory)』を参照してください。
1 次リソースが再度使用可能になっていること、あるいは登録名がアクティブになっていることが、WOLA リソース・アダプターにより検出されると、以降の 1 次リソース JNDI への要求を再び 1 次接続ファクトリーに経路指定できるようになったことが WebSphere Application Server 接続管理に通知されます。プライマリーに対する検査のための要求は 10 秒間隔で送信されるため、プライマリー登録が再度アクティブになったとき、プライマリー登録に切り替えが行われるまでに 10 秒かかる可能性があります。
- サーバーを再始動します。 alternateResourceJNDIName または他の接続プール・プロパティーを追加した後に、サーバーを再始動して、プロパティーが有効になるようにしなければなりません。