7.16. サービス提供可否チェック¶
目次
この機能では、アプリケーションが提供する機能に対して、サービス提供可否をチェックする。
この機能を使うことで、以下のようなことが実現できる。
- ウェブにおいて一部機能へのアクセスを遮断し、503エラーを返す。
- 常駐バッチにおいて、空回り(処理せずに待機する状態)を行う。
重要
本機能は、アプリケーションの要件が合致する場合に限り、使用すること。 本機能は、データベースを使用してサービス提供可否の状態を管理し、 リクエスト単位でサービス提供可否を設定する( サービス提供可否チェックを使うための設定を行う を参照)。 例えば、ウェブの登録機能といった場合、初期表示/確認/戻る/登録といった複数リクエストで構成されるのが一般的である。 そのため、本機能は、細かくサービス提供可否を設定できる反面、非常に細かいデータ設計が必要となり、 開発時の生産性低下やリリース後の運用負荷が高まる可能性がある。
7.16.1. 機能概要¶
7.16.1.1. リクエスト単位でサービス提供可否をチェックすることができる¶
サービス提供可否チェックハンドラ をハンドラキューに設定することで、 ウェブでも常駐バッチでも、リクエスト単位でサービス提供可否をチェックすることができるようになる。 この機能は、ウェブや常駐バッチといった処理方式に依存しない。
詳細は以下を参照。
7.16.2. モジュール一覧¶
<dependency>
<groupId>com.nablarch.framework</groupId>
<artifactId>nablarch-common-auth</artifactId>
</dependency>
<dependency>
<groupId>com.nablarch.framework</groupId>
<artifactId>nablarch-common-auth-jdbc</artifactId>
</dependency>
7.16.3. 使用方法¶
7.16.3.1. サービス提供可否チェックを使うための設定を行う¶
この機能では、データベースを使用してサービス提供可否の状態を管理する。 テーブルのレイアウトは以下となる。
リクエストID(PK) | リクエストを識別するための値。文字列型 |
サービス提供可否状態 | 可の場合は”1”。文字列型。設定で値を変更できる。 |
サービス提供可否チェックを使うためには、 BasicServiceAvailability の定義をコンポーネント設定ファイルに追加する。 コンポーネント名には serviceAvailability と指定する。
<component name="serviceAvailability" class="nablarch.common.availability.BasicServiceAvailability">
<!-- テーブル名 -->
<property name="tableName" value="REQUEST"/>
<!-- リクエストIDのカラム名 -->
<property name="requestTableRequestIdColumnName" value="REQUEST_ID"/>
<!-- サービス提供可否状態のカラム名 -->
<property name="requestTableServiceAvailableColumnName" value="SERVICE_AVAILABLE"/>
<!-- サービス提供可を示す値 -->
<property name="requestTableServiceAvailableOkStatus" value="1"/>
<!-- データベースアクセスに使用するトランザクションマネージャ -->
<property name="dbManager" ref="serviceAvailabilityDbManager"/>
</component>
7.16.3.2. サービス提供可否をチェックする¶
サービス提供可否チェックは、 ServiceAvailabilityUtil を使用する。
7.16.3.3. サービス提供可否に応じて画面表示を制御する¶
サービス提供可否に応じてボタンやリンクの非表示(非活性)を制御したい場合は、カスタムタグを使用する。 認可チェック/サービス提供可否に応じてボタン/リンクの表示/非表示を切り替える を参照。
7.16.4. 拡張例¶
なし。