デッドロック

サンプル 7 では、デッドロックを起こしやすい状況と、EJB エンジンがデッドロックを検出し、解除する方法について説明しています。Loan は、ある固定期間の間だけ存在します。Customer が期間内に Loan を支払わない場合は、Customer がまだ分割で支払いを行っている場合でも Loan は不履行になります。Loan が期限までにすべて返済されない場合、LoanLoan.ejbRemove において Customer の信用格付けを格下げします。しかし、Customer によって Loan の支払いが行われると同時に Loan による信用格付けの格下げが実行されると、デッドロック状況が発生します。

サンプルでは、デッドロックを管理する場所が 2 か所あります。