サービス提供可否チェックハンドラ¶
本ハンドラでは、 リクエストに対するサービス提供可否チェック を行う。
サービス提供可否チェックは、ライブラリの サービス提供可否チェック を使用して行う。 そのため、本ハンドラを使用するには、 ServiceAvailability を実装したクラスを本ハンドラに設定する必要がある。
本ハンドラでは、以下の処理を行う。
- サービス提供可否チェック
処理の流れは以下のとおり。

モジュール一覧¶
<dependency>
<groupId>com.nablarch.framework</groupId>
<artifactId>nablarch-common-auth</artifactId>
</dependency>
制約¶
- スレッドコンテキスト変数管理ハンドラ より後ろに配置すること
- 本ハンドラではスレッドコンテキスト上に設定されたリクエストIDをもとにサービス提供可否チェックを行うため、 スレッドコンテキスト変数管理ハンドラ より後ろに本ハンドラを配置する必要がある。
- 内部フォーワードハンドラ より後ろに配置すること
- 内部フォーワードが行われた際に、フォーワード先のリクエストID( 内部リクエストID )をもとに
サービス提供可否チェックを行いたい場合は、 内部フォーワードハンドラ より後ろに本ハンドラを配置する必要がある。
合わせて、 スレッドコンテキスト変数管理ハンドラ の
attributes
に InternalRequestIdAttribute を追加すること。
リクエストに対するサービス提供可否チェック¶
ThreadContext からリクエストIDを取得し、サービス提供可否をチェックする。 チェックの詳細は、 サービス提供可否チェック を参照。
- OK(サービス提供可)の場合
- 後続ハンドラを呼び出す。
- NG(サービス提供不可)の場合
- ServiceUnavailable (503) を送出する。
チェック対象のリクエストIDをフォーワード先のリクエストIDに変更したい場合は、 ServiceAvailabilityCheckHandler.setUsesInternalRequestId でtrueを指定する。デフォルトはfalseである。