ロック・タイムアウト値の構成

BackingMap インスタンスのロック・タイムアウト値を使用すると、アプリケーション・エラーが原因で デッドロック状態が発生しても、アプリケーションがロック・モードを認可されるまで 無期限に待つことがないようにできます。

始める前に

ロック・タイムアウト値を構成するには、ロック・ストラテジーを OPTIMISTIC または PESSIMISTIC に設定しなければなりません。詳しくは、ロック・ストラテジーの構成を参照してください。

このタスクについて

LockTimeoutException 例外が発生したら、アプリケーションは、アプリケーションの実行が 予想よりも遅くなっているためにタイムアウトが発生しているのか、それともデッドロック状態のために タイムアウトが発生したのかを判別しなければなりません。実際にデッドロック条件が発生した場合は、 ロック待ちタイムアウト値を増やしても例外は除去されません。 タイムアウト値を増やすと、例外の発生期間が長くなります。 しかし、ロック待ちタイムアウト値を増やして例外を除去している場合は、 アプリケーションが予想よりも低速で実行されるために問題が発生しました。 このケースのアプリケーションでは、 パフォーマンスの低下原因を判別しなければなりません。

デッドロックの発生を回避するために、ロック・マネージャーにはデフォルトのタイムアウト値 (15 秒) があります。 このタイムアウト制限を超過すると、LockTimeoutException 例外が発生します。 システムの負荷が重いと、デッドロックが存在しない場合でも、デフォルトのタイムアウト値によって LockTimeoutException 例外が発生する可能性があります。このような場合は、プログラマチックに、または ObjectGrid 記述子 XML ファイルを使用して ロック・タイムアウト値を大きくできます。

手順