6.2. アプリケーションレベルのフェイルオーバー

場合によっては、自動的なクライアントのフェイルオーバーを望まず、障害ハンドラーで独自の再接続ロジックをコーディングしたいこともあります。フェイルオーバーはアプリケーションレベルで処理されるため、これはアプリケーションレベルのフェイルオーバーと呼ばれます。

JMS の使用時にアプリケーションレベルのフェイルオーバーを実装するには、JMS 接続で ExceptionListener クラスを設定します。ExceptionListener は、接続障害が検出されるとブローカーによって呼び出されます。ExceptionListener で、古い JMS 接続を閉じる必要があります。JNDI から新しい接続ファクトリーインスタンスを検索し、新しい接続を作成する場合もあります。