public class ServerBlockageControlFilter extends AbstractControlFilter<ServerBlockageController>
このクラスではブラウザからのリクエストに対するフィルタ処理を、
デプロイメントディスクリプタ(web.xml)で
指定された任意のServerBlockageController
インスタンスを呼び出し、
指定されたパスが業務閉塞状態かどうかのチェック処理を委譲する。
サーバ閉塞状態だった場合は、ServerBlockageException
をスローする。
この機能を使用するにはデプロイメントディスクリプタ(web.xml)と
Bean定義ファイルに以下のように設定する。
このとき、Bean定義ファイルに定義するid属性が、
sampleServerBlockageControllerである<bean>要素の
class属性には、ServerBlockageController
インタフェースを
実装したクラスを設定する。
デプロイメントディスクリプタ(web.xml)
Bean定義ファイル
<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属性をデフォルト値である
"serverBlockageController"に設定する場合には、デプロイメントディスクリプタ
(web.xml)内の<filter>要素から<init-param>要素を省略することが
できる。
<bean id="sampleServerBlockageController"
class="jp.terasoluna…SampleServerBlockageController" />
修飾子とタイプ | フィールドと説明 |
---|---|
protected static ServerBlockageController |
controller
ServerBlockageControllerインスタンス。
|
static String |
DEFAULT_SERVER_BLOCKAGE_BEAN_ID
DIコンテナからコントローラーの実装クラスを取得するための
<bean>要素のid属性に使用されるデフォルトid。
|
static String |
SERVER_BLOCKAGE_THRU_KEY
リクエストがフィルタを通過したことを示すリクエスト属性のキー。
|
config
コンストラクタと説明 |
---|
ServerBlockageControlFilter() |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
サーバ閉塞チェックを行う。
|
protected Class |
getControllerClass()
アクセス制御を行うクラスが実装すべきインタフェースを返す。
|
String |
getDefaultControllerBeanId()
DIコンテナからコントローラを取得する際のデフォルトのidを返す。
|
protected String |
getErrorCode()
コントローラの生成失敗を示すエラーコードを返す。
|
static ServerBlockageController |
getServerBlockageController()
ServerBlockageController を返す。
|
void |
init(javax.servlet.FilterConfig config)
フィルタがサービス開始状態になる際に、コンテナによって呼び出される。
|
destroy, getController, setConfig
public static final String SERVER_BLOCKAGE_THRU_KEY
public static final String DEFAULT_SERVER_BLOCKAGE_BEAN_ID
protected static ServerBlockageController controller
public static ServerBlockageController getServerBlockageController()
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
init
インタフェース内 javax.servlet.Filter
init
クラス内 AbstractControlFilter<ServerBlockageController>
config
- FilterConfigインスタンス。javax.servlet.ServletException
- 初期化異常時にスローされる例外。Filter.init(javax.servlet.FilterConfig)
,
AbstractControlFilter
public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
doFilter
インタフェース内 javax.servlet.Filter
doFilter
クラス内 AbstractControlFilter<ServerBlockageController>
req
- HTTPリクエストres
- HTTPレスポンスchain
- フィルタチェーンIOException
- I/Oエラーjavax.servlet.ServletException
- サーブレット例外Filter.doFilter(javax.servlet.ServletRequest,
javax.servlet.ServletResponse,
javax.servlet.FilterChain)
protected Class getControllerClass()
getControllerClass
クラス内 AbstractControlFilter<ServerBlockageController>
protected String getErrorCode()
getErrorCode
クラス内 AbstractControlFilter<ServerBlockageController>
public String getDefaultControllerBeanId()
getDefaultControllerBeanId
クラス内 AbstractControlFilter<ServerBlockageController>
Copyright © 2016. All Rights Reserved.