![[z/OS]](../images/ngzos.gif)
タイマーの概要
タイマーは、特定操作の完了に必要な時間を制限するものです。 タイマーが制御する操作のタイプは、タイマーに設定される時間制限の経過がいつ開始するかを判別します。
メッセージ駆動型 Bean をリスナー・ポートまたはアクティベーション・スペックと ともに動作するよう構成することに関連するタイマー・プロパティー
WebSphere® Application Server バージョン 7 以降では、リスナー・ポートは推奨されていません。したがって、リスナー・ポートを使用する IBM MQ メッセージ駆動型 Bean のデプロイメント構成を、アクティベーション・スペックを使用する構成に移行する準備を行う必要があります。 ただし、このマイグレーションを開始する前に、 アプリケーションを WebSphere Application Server バージョン 7 より前のアプリケーション・サーバーで実行する必要がないことを確認してください。状況に応じて、IBM MQ メッセージ駆動型 Bean デプロイメントおよびリスナー・ポートを引き続き使用する場合もあれば、には IBM MQ メッセージ駆動型 Bean デプロイメント およびアクティベーション・スペックを使用するようにする場合もあります。
- control_region_mdb_request_timeout
- control_region_mdb_queue_timeout_percent
- server_region_mdb_stalled_thread_dump_action
- control_region_wlm_dispatch_timeout
- control_region_iiop_queue_timeout_percent
- server_region_iiop_stalled_thread_dump_action
指示に従ってこれらのプロパティーを構成する 際、どのプロパティーがリスナー・ポートに適用され、どのプロパティーがアクティベーション・スペックに 適用されるのかを意識してください。
- クライアント要求がサーバントにディスパッチされる前に制限時間が経過する場合は、クライアントにマイナー・コードを送信します。
- クライアント要求が、サーバントで実行されるアプリケーション・コンポーネントで処理されている間に制限時間が経過する場合は、EC3 ABEND が発生してサーバントが異常終了します。
この状態では、このサーバントのスレッドのすべてが終了されます。また、サーバントは、アプリケーションでリソースが保持されないように終了され、他の要求でこれらのリソースが使用されないようにします。サーバントが終了したら、ワークロード管理 (WLM) は、終了したサーバントの代わりとなる新規サーバントを開始します。
トラブルの回避 (Avoid trouble): トランザクション合計存続時間タイムアウトと 最大トランザクション・タイムアウト値には、約 4 分間に指定されたタイムアウト値より大きい猶予期間があ ります。この拡張された時間は、異常終了が発生する前に経過する必要があります。gotcha
- control_region_wlm_dispatch_timeout。クライアント要求が WLM キューで待機する時間と、 アプリケーション・コンポーネントがその要求を処理するのに必要な時間の両方を制限します。
- transaction_defaultTimeout。コントローラーが、 トランザクションのコミットまたはロールバックを待機する時間を制限します。
この 2 つのタイマーがオーバーラップするのは、 トランザクションが処理されている間に限られます。 どちらのタイマーがエラーの原因となっているかを判別するには、 その症状に固有のマイナー・コード、または EC3 異常終了理由コードを使用してください。
できるだけ早く、タイムアウトの発生を判別し、さらにリソースがロックされることを防ぐため、WebSphere Application Server は、タイムアウト状態が起きたトランザクション・パスでさらにトランザクション処理が行われないようにします。これは、現在のトランザクション・コンテキストのもとでの処理の実行、および別のトランザクション・コンテキストのもとでの処理の実行の両方に適用されます。
処理の振る舞いを制御するために使用されるタイマーは、一般的な 5 つのタイプに分類されます。これらの一般タイプ、および制御される操作の要約を以下の表に示します。
汎用タイプ | タイマーの処理 | タイムアウトの症状 |
---|---|---|
入力 | 入力タイマーは、 完全な要求を受信する場合の制限を定義します。カウントダウンが始まるのは、 J2EE サーバーとの接続が確立されたときです。要求に使用されるタイマーは、 通信プロトコル (HTTP、HTTPS) によって決まります。 | セッションが終了します。 |
セッション | セッション・タイマーは、 セッション接続の使用に対する制限を定義します。この種のタイマーのカウントダウンは、 セッションがアイドルになるとすぐに開始されます。 | セッションが終了します。 |
WLM ディスパッチ | ディスパッチ・タイマーは、 完全なクライアント要求が処理のためにサーバント領域にディスパッチされるまでに待機する時間を制御します。 一部のディスパッチ・タイマーでは、ディスパッチ時間のパーセントを、WLM キューのタイムアウト値として示す、追加の値を指定することができます。この時間が超過すると、作業が WLM キューから除去されますが、サーバントに対する異常終了は実行されません。コントローラーが要求を WLM キューに配置すると、カウントダウンが始まります。特定のタイマーによっては、制限時間の中に、WLM キューでの待機時間と、クライアント要求に対する応答の処理に必要な時間の両方が含まれることもあります。 | すべてのタイムアウト用のメッセージ BBOO0327I。 サーバントが終了すると、メッセージ BBOO0232W および EC3 ABEND が、以下の理由コードのいずれかとともに、サーバントに表示されます。
|
トランザクション | トランザクション・タイマーは、以下の時間を定義します。
|
メッセージ BBOT0003W または BBOO0232W、および EC3 ABEND が、以下の理由コードのいずれかとともに、サーバントに表示されます。
|
出力 | 出力タイマーは、 コントローラーがクライアント要求向けの出力の受信を待機する時間を定義します。 クライアント要求が処理のためにサーバントにディスパッチされると、カウントダウンが始まります。 要求に使用されるタイマーは、通信プロトコル (HTTP または HTTPS) によって決まります。 | メッセージ BBOO0232W および EC3 ABEND が、理由コード 04130007 とともに、サーバントに表示されます。 |