Cosminexus 機能解説
ここでは,Webサーバ連携機能を使用する場合のレスポンス送受信時の通信タイムアウト設定について説明します。レスポンス送受信時の,通信タイムアウトの設定場所を次の図に示します。
図4-34 レスポンス送信時の通信タイムアウトの設定場所(Webサーバ連携機能を使用する場合)
Webサーバ連携機能を使用する場合,図中の○印の場所に通信タイムアウトを設定します。通信タイムアウトを設定する場所について説明します。なお,図中の項番は次の説明の項番と対応しています。
Webコンテナでは,リダイレクタへのレスポンス送信処理に対して,タイムアウト時間を設定できます。設定した通信タイムアウトによって,リダイレクタ側で障害が発生したことを検知できます。検知できる障害を次に示します。
Webコンテナでのレスポンス送信時のタイムアウトの設定は,Webコンテナで設定します。Webサーバとの連携時のレスポンス送受信時の通信タイムアウト設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。
また,通信タイムアウトが発生すると,KDJE39507-E(レスポンス送信処理でタイムアウト発生)がメッセージログに出力されます。通信タイムアウトが発生する条件と発生後の動作について次の表に示します。
表4-37 通信タイムアウトが発生する条件と発生後の動作
通信タイムアウトが発生するタイミング | 通信タイムアウト発生後のメソッドの動作 | 通信タイムアウト発生後のサーブレットまたはJSPの動作 |
---|---|---|
サーブレット内で,javax.servlet.ServletResponseクラスのgetOutputStreamメソッドによって得られたjavax.servlet.ServletOutputStreamクラスのメソッドを使用してレスポンスデータをクライアントに送信したとき | java.net.SocketTimeoutExceptionの例外が発生する。 | リダイレクタとのコネクションがクローズされるため,リクエストデータおよびレスポンスデータの送受信ができなくなる。 |
サーブレット内で,javax.servlet.ServletResponseクラスのgetWriterメソッドによって得られたjava.io.PrintWriterクラスのメソッドを使用して,レスポンスデータをクライアントに送信したとき | 送信処理が中断されて,リターンする。 |
|
JSP内で,javax.servlet.jsp.JspWriterクラスのメソッドを使用してレスポンスデータをクライアントに送信したとき | java.net.SocketTimeoutExceptionの例外が発生する。 | リダイレクタとのコネクションがクローズされるため,リクエストデータおよびレスポンスデータの送受信ができなくなる。 |
静的コンテンツのレスポンスデータをクライアントに送信したとき | − | − |
(凡例)−:該当しない
リダイレクタは,Webコンテナにリクエストを送信すると,Webコンテナからのレスポンスを待ちます。このレスポンスの待ち時間に,タイムアウトを設定できます。設定した通信タイムアウトによって,Webコンテナ側で障害が発生したことを検知できます。検知できる障害を次に示します。
図4-35 アプリケーション処理中にタイムアウトが発生したときの動作
リダイレクタでのレスポンス受信時のタイムアウトの設定は,Webサーバ連携時に使用するworkers.properties(ワーカ定義ファイル)で指定します。Webサーバとの連携の設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。
Webサーバでは,クライアントへのデータ送信処理に対して,タイムアウト時間を設定できます。設定した通信タイムアウトによって,クライアント側で障害が発生したことを検知できます。検知できる障害を次に示します。
Webサーバでのレスポンス送信時のタイムアウトは,Webサーバで指定します。Webサーバとの連携の設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.