diff --git a/dtmcli/barrier.go b/dtmcli/barrier.go index bfc019b..7f4849e 100644 --- a/dtmcli/barrier.go +++ b/dtmcli/barrier.go @@ -72,6 +72,7 @@ func ThroughBarrierCall(db *sql.DB, transInfo *TransInfo, busiCall BusiFunc) (re originAffected, _ := insertBarrier(tx, transInfo.TransType, transInfo.Gid, transInfo.BranchID, originType) currentAffected, rerr := insertBarrier(tx, transInfo.TransType, transInfo.Gid, transInfo.BranchID, transInfo.TransType) if currentAffected == 0 || (originType == "cancel" || originType == "compensate") && originAffected > 0 { + res = "SUCCESS" // 如果被忽略,那么直接返回 "SUCCESS",表示成功,可以进行下一步 return } res, rerr = busiCall(db) diff --git a/examples/main_saga_barrier.go b/examples/main_saga_barrier.go index db0d425..2eee16e 100644 --- a/examples/main_saga_barrier.go +++ b/examples/main_saga_barrier.go @@ -32,11 +32,7 @@ func SagaBarrierStartSvr() { func SagaBarrierFireRequest() { logrus.Printf("a busi transaction begin") - req := &TransReq{ - Amount: 30, - TransInResult: "SUCCESS", - TransOutResult: "SUCCESS", - } + req := &TransReq{Amount: 30} saga := dtmcli.NewSaga(DtmServer). Add(SagaBarrierBusi+"/TransOut", SagaBarrierBusi+"/TransOutCompensate", req). Add(SagaBarrierBusi+"/TransIn", SagaBarrierBusi+"/TransInCompensate", req)