Browse Source

update barrier return value

pull/6/head
yedongfu 5 years ago
parent
commit
4e477afb5f
  1. 1
      dtmcli/barrier.go
  2. 6
      examples/main_saga_barrier.go

1
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) originAffected, _ := insertBarrier(tx, transInfo.TransType, transInfo.Gid, transInfo.BranchID, originType)
currentAffected, rerr := insertBarrier(tx, transInfo.TransType, transInfo.Gid, transInfo.BranchID, transInfo.TransType) currentAffected, rerr := insertBarrier(tx, transInfo.TransType, transInfo.Gid, transInfo.BranchID, transInfo.TransType)
if currentAffected == 0 || (originType == "cancel" || originType == "compensate") && originAffected > 0 { if currentAffected == 0 || (originType == "cancel" || originType == "compensate") && originAffected > 0 {
res = "SUCCESS" // 如果被忽略,那么直接返回 "SUCCESS",表示成功,可以进行下一步
return return
} }
res, rerr = busiCall(db) res, rerr = busiCall(db)

6
examples/main_saga_barrier.go

@ -32,11 +32,7 @@ func SagaBarrierStartSvr() {
func SagaBarrierFireRequest() { func SagaBarrierFireRequest() {
logrus.Printf("a busi transaction begin") logrus.Printf("a busi transaction begin")
req := &TransReq{ req := &TransReq{Amount: 30}
Amount: 30,
TransInResult: "SUCCESS",
TransOutResult: "SUCCESS",
}
saga := dtmcli.NewSaga(DtmServer). saga := dtmcli.NewSaga(DtmServer).
Add(SagaBarrierBusi+"/TransOut", SagaBarrierBusi+"/TransOutCompensate", req). Add(SagaBarrierBusi+"/TransOut", SagaBarrierBusi+"/TransOutCompensate", req).
Add(SagaBarrierBusi+"/TransIn", SagaBarrierBusi+"/TransInCompensate", req) Add(SagaBarrierBusi+"/TransIn", SagaBarrierBusi+"/TransInCompensate", req)

Loading…
Cancel
Save