Мой класс домена выглядит так:
Class Account {
String accountNo
...
def beforeUpdate = {
new AuditTrial(eventName:"update").save()
}
}
В моем приложении есть транзакция уровня блока следующим образом:
def updateAccount = {
Account.withTransaction { status ->
def source = Account.get(params.from)
def dest = Account.get(params.to)
def amount = params.amount.toInteger()
if(source.active) {
source.balance -= amount
if(dest.active) {
dest.amount += amount
} else {
status.setRollbackOnly()
}
}
}
}
Когда я пытаюсь вызвать этот метод updateAccount
, он дает исключение переполнения стека. Похоже, что метод beforeUpdate
был вызван рекурсивно.
ожидайте, что ваши ценные предложения помогут решить эту проблему