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

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