トランザクショナル分散オブジェクト基盤 TPBroker ユーザーズガイド

[目次][索引][前へ][次へ]


4.2.3 トランザクションサスペンド時間監視

明示的プロパゲーションによってトランザクションをプロパゲーションする場合は,サーバアプリケーションがリジュームしたトランザクションをサスペンドした状態のまま,クライアントに応答を返すことができます。このタイミングでクライアントノードのシステム障害などが発生すると,トランザクションが長時間サスペンドされたままとなります。このため,アプリケーションプログラムがトランザクションをサスペンド(Current::suspend())してからリジューム(Current::resume())するまでの間は,トランザクション処理時間監視とは関係なく,TPBrokerが時間監視を行います。

この監視は常に行われ,監視時間は180秒です。監視時間を経過した場合,そのトランザクションをサスペンドしたアプリケーションプログラムのプロセスを強制停止させることで,トランザクションをロールバックさせます。アプリケーションプロセスを強制停止させるのは,サスペンドされているトランザクションの処理でアプリケーションプログラム内に確保されたOTSやリソースマネージャの資源を解放するためです。

また,Current::begin()によってサブトランザクションが生成された場合,それ以前にそのスレッドに関連していたトランザクションは自動的にサスペンド状態となります。このため,このトランザクションも監視の対象となります。ネスティッドトランザクションを使用する場合は注意が必要です。

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.