jp.terasoluna.fw.web.thin
クラス ServerBlockageControlFilter

java.lang.Object
  上位を拡張 jp.terasoluna.fw.web.thin.AbstractControlFilter<ServerBlockageController>
      上位を拡張 jp.terasoluna.fw.web.thin.ServerBlockageControlFilter
すべての実装されたインタフェース:
javax.servlet.Filter

public class ServerBlockageControlFilter
extends AbstractControlFilter<ServerBlockageController>

サーバ閉塞状態かどうかのチェックを行う。

このクラスではブラウザからのリクエストに対するフィルタ処理を、 デプロイメントディスクリプタ(web.xml)で 指定された任意のServerBlockageControllerインスタンスを呼び出し、 指定されたパスが業務閉塞状態かどうかのチェック処理を委譲する。

サーバ閉塞チェック機能

サーバ閉塞状態だった場合は、ServerBlockageExceptionをスローする。

使用方法

この機能を使用するにはデプロイメントディスクリプタ(web.xml)と Bean定義ファイルに以下のように設定する。 このとき、Bean定義ファイルに定義するid属性が、 sampleServerBlockageControllerである<bean>要素の class属性には、ServerBlockageControllerインタフェースを 実装したクラスを設定する。

デプロイメントディスクリプタ(web.xml)

 <filter>
   <filter-name>serverBlockageControlFilter</filter-name>
   <filter-class>
     jp.terasoluna.fw.web.common.ServerBlockageControlFilter
   </filter-class>
   <init-param>
     <param-name>controller</param-name>
     <param-value>
       "sampleServerBlockageController"
     </param-value>
   </init-param>
 </filter>

 <filter-mapping>
   <filter-name>serverBlockageControlFilter</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>
 
Bean定義ファイル
 <bean id="sampleServerBlockageController"
       class="jp.terasoluna…SampleServerBlockageController" />
 
なお、Bean定義ファイルに定義する<bean>要素のid属性をデフォルト値である "serverBlockageController"に設定する場合には、デプロイメントディスクリプタ (web.xml)内の<filter>要素から<init-param>要素を省略することが できる。

関連項目:
AuthorizationControlFilter, AuthorizationController, AuthenticationControlFilter, AuthenticationController, BlockageControlFilter, BlockageController, ServerBlockageController

フィールドの概要
protected static ServerBlockageController controller
          ServerBlockageControllerインスタンス。
static java.lang.String DEFAULT_SERVER_BLOCKAGE_BEAN_ID
          DIコンテナからコントローラーの実装クラスを取得するための <bean>要素のid属性に使用されるデフォルトid。
private static Log log
          ログクラス。
private static java.lang.Class SERVER_BLOCKAGE_CONTROLLER_CLASS
          サーバー閉塞処理を委譲するコントローラクラス。
private static java.lang.String SERVER_BLOCKAGE_CONTROLLER_ERROR
          サーバー閉塞コントローラの生成失敗を示すエラーコード。
static java.lang.String SERVER_BLOCKAGE_THRU_KEY
          リクエストがフィルタを通過したことを示すリクエスト属性のキー。
 
クラス jp.terasoluna.fw.web.thin.AbstractControlFilter から継承されたフィールド
config
 
コンストラクタの概要
ServerBlockageControlFilter()
           
 
メソッドの概要
 void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain)
          サーバ閉塞チェックを行う。
protected  java.lang.Class getControllerClass()
          アクセス制御を行うクラスが実装すべきインタフェースを返す。
 java.lang.String getDefaultControllerBeanId()
          DIコンテナからコントローラを取得する際のデフォルトのidを返す。
protected  java.lang.String getErrorCode()
          コントローラの生成失敗を示すエラーコードを返す。
static ServerBlockageController getServerBlockageController()
          ServerBlockageController を返す。
 void init(javax.servlet.FilterConfig config)
          フィルタがサービス開始状態になる際に、コンテナによって呼び出される。
 
クラス jp.terasoluna.fw.web.thin.AbstractControlFilter から継承されたメソッド
destroy, getController, setConfig
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

SERVER_BLOCKAGE_THRU_KEY

public static final java.lang.String SERVER_BLOCKAGE_THRU_KEY
リクエストがフィルタを通過したことを示すリクエスト属性のキー。

関連項目:
定数フィールド値

DEFAULT_SERVER_BLOCKAGE_BEAN_ID

public static final java.lang.String DEFAULT_SERVER_BLOCKAGE_BEAN_ID
DIコンテナからコントローラーの実装クラスを取得するための <bean>要素のid属性に使用されるデフォルトid。

関連項目:
定数フィールド値

SERVER_BLOCKAGE_CONTROLLER_ERROR

private static final java.lang.String SERVER_BLOCKAGE_CONTROLLER_ERROR
サーバー閉塞コントローラの生成失敗を示すエラーコード。

関連項目:
定数フィールド値

SERVER_BLOCKAGE_CONTROLLER_CLASS

private static final java.lang.Class SERVER_BLOCKAGE_CONTROLLER_CLASS
サーバー閉塞処理を委譲するコントローラクラス。


log

private static Log log
ログクラス。


controller

protected static ServerBlockageController controller
ServerBlockageControllerインスタンス。

コンストラクタの詳細

ServerBlockageControlFilter

public ServerBlockageControlFilter()
メソッドの詳細

getServerBlockageController

public static ServerBlockageController getServerBlockageController()
ServerBlockageController を返す。

戻り値:
ServerBlockageController

init

public void init(javax.servlet.FilterConfig config)
          throws javax.servlet.ServletException
フィルタがサービス開始状態になる際に、コンテナによって呼び出される。 コンテナは、Filterをインスタンス化した後に、initメソッドを 1 回だけ呼び出す。
Filterにフィルタ処理作業を実行するように要求するには、 init メソッドが正常に 終了していなければならない。 initメソッドが 次のいずれかの状態の場合、コンテナは Filterをサービス状態にできない。

定義:
インタフェース javax.servlet.Filter 内の init
オーバーライド:
クラス AbstractControlFilter<ServerBlockageController> 内の init
パラメータ:
config - FilterConfigインスタンス。
例外:
javax.servlet.ServletException - 初期化異常時にスローされる例外。
関連項目:
Filter.init(javax.servlet.FilterConfig), AbstractControlFilter

doFilter

public void doFilter(javax.servlet.ServletRequest req,
                     javax.servlet.ServletResponse res,
                     javax.servlet.FilterChain chain)
              throws java.io.IOException,
                     javax.servlet.ServletException
サーバ閉塞チェックを行う。

定義:
インタフェース javax.servlet.Filter 内の doFilter
定義:
クラス AbstractControlFilter<ServerBlockageController> 内の doFilter
パラメータ:
req - HTTPリクエスト
res - HTTPレスポンス
chain - フィルタチェーン
例外:
java.io.IOException - I/Oエラー
javax.servlet.ServletException - サーブレット例外
関連項目:
Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)

getControllerClass

protected java.lang.Class getControllerClass()
アクセス制御を行うクラスが実装すべきインタフェースを返す。

定義:
クラス AbstractControlFilter<ServerBlockageController> 内の getControllerClass
戻り値:
このフィルタで使用するコントローラのクラス

getErrorCode

protected java.lang.String getErrorCode()
コントローラの生成失敗を示すエラーコードを返す。

定義:
クラス AbstractControlFilter<ServerBlockageController> 内の getErrorCode
戻り値:
エラーコード

getDefaultControllerBeanId

public java.lang.String getDefaultControllerBeanId()
DIコンテナからコントローラを取得する際のデフォルトのidを返す。

定義:
クラス AbstractControlFilter<ServerBlockageController> 内の getDefaultControllerBeanId
戻り値:
デフォルトのid属性値