Java 永続性を使用する場合に、「再試行可能な」例外 (ロック待機タイムアウトなど) を再試行する正しい方法について、明確にする必要があります。たとえば、次のような疑似コードを使用します。
EntityTransaction tx = em.getTransaction();
tx.begin();
for (a bunch of objects) {
em.persist(object);
}
tx.commit();
データベースにロックがある場合、em.persist 呼び出しで例外がスローされることがあります。それをtry/catchでラップして再試行できますか(明らかに、いくつかのカウントで)?それとも、tx.begin/commit 全体をラップしてやり直す必要がありますか?
どうも