| P of EAA カタログ |

暗黙的ロック

デビッド・ライス

フレームワークまたはレイヤーのスーパータイプコードがオフラインロックを取得できるようにします。

詳細な説明については、P of EAA449 ページを参照してください。

ロックスキームの鍵は、その使用にギャップがないことです。ロックを取得するコードの 1 行の書き込みを忘れると、オフラインのロックスキーム全体が無効になる可能性があります。他のトランザクションで書き込みロックを使用している場所で読み取りロックを取得できない場合、最新でないセッションデータが取得されない可能性があります。バージョンカウントを適切に使用しないと、他の人の変更を不知のうちに上書きしてしまう可能性があります。一般的に、どこでもロックされる可能性のある項目は、どこでもロックする必要があります。アプリケーションのロック戦略を無視すると、ビジネストランザクションで矛盾したデータが作成される可能性があります。ロックを解除しないとレコードデータが破損することはありませんが、最終的には生産性を停止します。オフラインの同時実行管理はテストが困難なため、すべてのテストスイートでそのようなエラーが検出されない場合があります。

1 つの解決策は、開発者がそのような間違いを犯さないようにすることです。見落とすことのできないロックタスクは、開発者によって明示的に処理されるのではなく、暗黙的にアプリケーションによって処理される必要があります。ほとんどのエンタープライズアプリケーションが、フレームワーク、レイヤースーパータイプ (475)、およびコード生成の何らかの組み合わせを利用するという事実は、暗黙的ロックを容易にする十分な機会を提供します。