6.2. アプリケーションレベルのフェイルオーバー
場合によっては、自動的なクライアントのフェイルオーバーを望まず、障害ハンドラーで独自の再接続ロジックをコーディングしたいこともあります。フェイルオーバーはアプリケーションレベルで処理されるため、これはアプリケーションレベルのフェイルオーバーと呼ばれます。
JMS の使用時にアプリケーションレベルのフェイルオーバーを実装するには、JMS 接続で ExceptionListener
クラスを設定します。ExceptionListener
は、接続障害が検出されるとブローカーによって呼び出されます。ExceptionListener
で、古い JMS 接続を閉じる必要があります。JNDI から新しい接続ファクトリーインスタンスを検索し、新しい接続を作成する場合もあります。