Browse Source

修正了不能正确的自动提交事务的过程

pull/305/head
allanwei 3 years ago
parent
commit
8ce3a87020
1 changed files with 16 additions and 4 deletions
  1. +16
    -4
      container/NewTransactionBroker.go

+ 16
- 4
container/NewTransactionBroker.go View File

@ -55,10 +55,22 @@ func (broker *NewTransactionBroker) Call(in []reflect.Value) []reflect.Value {
}
out := broker.caller(in)
lastReturnValue := out[len(out)-1]
if lastReturnValue.Kind() == reflect.Invalid {
if err := transactionHandler.Commit(); err != nil {
// Todo Log
return []reflect.Value{reflect.ValueOf(err)}
switch lastReturnValue.Kind() {
case reflect.Invalid:
{
if err := transactionHandler.Commit(); err != nil {
// Todo Log
return []reflect.Value{reflect.ValueOf(err)}
}
}
case reflect.Interface:
{
if lastReturnValue.Type() == errorType && lastReturnValue.IsNil() {
if err := transactionHandler.Commit(); err != nil {
// Todo Log
return []reflect.Value{reflect.ValueOf(err)}
}
}
}
}
return out


Loading…
Cancel
Save