6.5.2 実行環境での設定(J2EEサーバの設定)
Webクライアントからの同時接続数の制御をする場合,J2EEサーバの設定が必要です。
Webクライアントからの同時接続数の制御の設定方法および設定例について説明します。
(1) 設定方法
Webクライアントからの同時接続数の制御の定義は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のパラメタを指定します。
- webserver.connector.inprocess_http.rejection_threads
-
接続を拒否するリクエスト数を指定します。
簡易構築定義ファイル,および指定するパラメタの詳細は,「第3編 リファレンス(V9互換モード)」を参照してください。
- 注意事項
-
フレームを使用したページや,画像を挿入したページを表示する際,Webクライアントから複数のリクエストを受信する場合があります。その場合,Webクライアントからの同時接続数の制御によって表示されるページが部分的にエラーになることがあります。
(2) 設定例
Webクライアントからの同時接続数の制御の設定例について説明します。
次に,リクエスト処理スレッド数の上限が40,接続を拒否するリクエスト処理スレッド数が1の場合の設定例を示します。
: <param> <param-name>webserver.connector.inprocess_http.max_connections</param-name> <param-value>40</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.rejection_threads</param-name> <param-value>1</param-value> </param> :
この設定例では,接続後に同時にリクエストを処理できるWebクライアントの数は39となります。リクエスト処理中のスレッド数が39に達すると,残りの1スレッドはWebクライアントに対してエラーを返し続けます。
Webクライアントからの同時接続数の制御によって,接続を拒否したリクエストに対しては,ステータスコード503(Service Unavailable)のエラーをWebクライアントに返します。このときクライアントに返すエラーページをカスタマイズすると,レスポンスメッセージのカスタマイズや,ほかのサーバへのリダイレクトができます。それぞれの場合の設定例を次に示します。なお,エラーページのカスタマイズについては,「6.15 エラーページのカスタマイズ(インプロセスHTTPサーバ)」を参照してください。
-
レスポンスメッセージをカスタマイズする場合
Webクライアントからの接続を拒否した場合に,レスポンスボディとして特定のファイルをWebクライアントに返すための設定例を次に示します。
: <param> <param-name>webserver.connector.inprocess_http.rejection_threads</param-name> <param-value>3</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.list</param-name> <param-value>REJECTION_1</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.status</param-name> <param-value>503</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.file</param-name> <param-value>C:/data/busy.html</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.file.content_type=text/html; charset</param-name> <param-value>ISO-8859-1</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.request_url</param-name> <param-value>/*</param-value> </param> :
この設定例では,エラーステータスコードに「503」,対応するエラーページのファイルに「C:/data/busy.html」,レスポンスのContent-Typeヘッダに「text/html; charset=ISO-8859-1(Media-Typeはtext/htmlで,ISO-8859-1文字セットを使用)」,URLパターンに「/*」を指定しています。このため,エラーステータスコード「503」が発生した場合には,リクエストのURIに関係なく,「C:/data/busy.html」のファイルの内容をレスポンスとして返します。
-
ほかのサーバへリダイレクトする場合
接続を拒否したリクエストをほかのサーバへリダイレクトする場合の設定例を次に示します。
: <param> <param-name>webserver.connector.inprocess_http.rejection_threads</param-name> <param-value>3</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.list</param-name> <param-value>REJECTION_1</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.status</param-name> <param-value>503</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.redirect_url</param-name> <param-value>http://host1/busy.html</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.REJECTION_1.request_url</param-name> <param-value>/*</param-value> </param> <param> :
この設定例では,エラーステータスコードに「503」,対応するエラーページのファイルに「http://host1/busy.html」,URLパターンに「/*」を指定しています。このため,エラーステータスコード「503」が発生した場合には,リクエストのURIに関係なく,すべてのリクエストが「http://host1/busy.html」のURLにリダイレクトされます。