Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)


7.6.1 通信タイムアウトの概要

NIO HTTPサーバを使用する場合,WebクライアントとNIO HTTPサーバ間での,リクエスト受信およびレスポンス送信,またはWebSocketでのメッセージの送受信に,通信タイムアウトを設定できます。ネットワークの障害やアプリケーションの障害などが発生し応答待ち状態になった場合,通信タイムアウトを設定していると,タイムアウトの発生によって障害の発生を検知できます。

NIO HTTPサーバを使用する場合,次に示す図中の二つの矢印が示す通信に対してタイムアウトを設定します。

図7‒3 タイムアウトを設定できる通信(NIO HTTPサーバを使用する場合)

[図データ]

図に示すように,通信タイムアウトはリクエスト受信とレスポンス送信に対して設定します。通信タイムアウトの設定について,リクエストの受信とレスポンスの送信に分けて説明します。

なお,Webクライアントからのリクエスト受信,およびWebクライアントへのレスポンス送信でタイムアウトが発生した場合,Webクライアントまたはネットワークで障害が発生したと見なされて,Webクライアントとの接続が切断されるため,レスポンスは返されません。

〈この項の構成〉

(1) リクエスト受信時の通信タイムアウト

リクエスト受信時の通信タイムアウトの設定場所を次の図に示します。

図7‒4 リクエスト受信時の通信タイムアウトの設定場所(NIO HTTPサーバを使用する場合)

[図データ]

NIO HTTPサーバを使用する場合,WebクライアントとNIO HTTPサーバ間の通信に,タイムアウトを設定します。

WebクライアントとNIO HTTPサーバ間の通信にタイムアウトを設定することによって,クライアント側で次に示す障害が発生したことを検知できます。

(2) レスポンス送信時の通信タイムアウト

レスポンス送信時の通信タイムアウトの設定場所を次の図に示します。

図7‒5 レスポンス送信時の通信タイムアウトの設定場所(NIO HTTPサーバを使用する場合)

[図データ]

NIO HTTPサーバを使用する場合,NIO HTTPサーバとWebクライアント間の通信に,タイムアウトを設定します。

NIO HTTPサーバとWebクライアント間の通信にタイムアウトを設定することによって,次に示す障害を検知できます。