1

その結果、DB から同じオブジェクトを取得します。どちらの場合も、DB レベルのロックを使用します。すべて単一のセッション/トランザクション内。

funk()
funk()

def funk() {
    def account = Account.withCriteria {
        id 123
        lock true
        lockMode LockMode.UPGRADE_NOWAIT
    }
    account.save()
}

問題: 2 回目の取得で、HTTP ソケットの読み取りが永遠にハングします。

コードをあまり再設計せずに問題を解決することは可能ですか?

  • たぶん手動ロック解除で
  • または再入可能ロックを介して
  • または、すでにロックされていることがわかっている場合は、ロックをスキップできます...

Grails 2.2.0、一部の Hibernate、Oracle XE

4

0 に答える 0