云上服务

dtm提供云上服务(目前为测试,未来有更多需求,会考虑提供高性能、高可用的dtm服务)

使用

您只需要将例子里面的DtmServer地址换成下面地址即可:

国内地址:https://dtm.pub/api/dtmsvr

国外地址:https://en.dtm.pub/api/dtmsvr

重试次数限制

因为这是测试服务,因此容易出现用户填错地址,或者用户的服务不可访问,所以限定重试次数为6,否则会出现无限重试

查询事务状态

查询批量订单

  1. curl https://dtm.pub/api/dtmsvr/all?last_id=

last_id: 上一个请求的订单id,这个id不是gid,而是全局订单表里面的id字段

响应结果为id小于last_id的100条数据,按照id倒序排列:

  1. {
  2. "transactions":[
  3. {
  4. "ID":64,
  5. "CreateTime":"2021-09-14T19:10:50+08:00",
  6. "UpdateTime":"2021-09-14T19:10:50+08:00",
  7. "gid":"xaRollback",
  8. "trans_type":"xa",
  9. "data":"",
  10. "status":"failed",
  11. "query_prepared":"",
  12. "protocol":"http",
  13. "CommitTime":null,
  14. "FinishTime":null,
  15. "RollbackTime":"2021-09-14T19:10:50+08:00",
  16. "NextCronInterval":10,
  17. "NextCronTime":"2021-09-14T19:11:00+08:00"
  18. }
  19. ]
  20. }

查询特定订单

  1. curl https://dtm.pub/api/dtmsvr/query?gid=xaRollback

gid: 订单gid,必选字段

响应结果:

  1. {
  2. "branches":[
  3. {
  4. "ID":195,
  5. "CreateTime":"2021-09-14T19:10:50+08:00",
  6. "UpdateTime":"2021-09-14T19:10:50+08:00",
  7. "Gid":"xaRollback",
  8. "url":"http://localhost:8081/api/busi/xa",
  9. "Data":"",
  10. "branch_id":"0101",
  11. "BranchType":"commit",
  12. "Status":"prepared",
  13. "FinishTime":null,
  14. "RollbackTime":null
  15. },
  16. {
  17. "ID":194,
  18. "CreateTime":"2021-09-14T19:10:50+08:00",
  19. "UpdateTime":"2021-09-14T19:10:50+08:00",
  20. "Gid":"xaRollback",
  21. "url":"http://localhost:8081/api/busi/xa",
  22. "Data":"",
  23. "branch_id":"0101",
  24. "BranchType":"rollback",
  25. "Status":"succeed",
  26. "FinishTime":"2021-09-14T19:10:50+08:00",
  27. "RollbackTime":null
  28. }
  29. ],
  30. "transaction":{
  31. "ID":64,
  32. "CreateTime":"2021-09-14T19:10:50+08:00",
  33. "UpdateTime":"2021-09-14T19:10:50+08:00",
  34. "gid":"xaRollback",
  35. "trans_type":"xa",
  36. "data":"",
  37. "status":"failed",
  38. "query_prepared":"",
  39. "protocol":"http",
  40. "CommitTime":null,
  41. "FinishTime":null,
  42. "RollbackTime":"2021-09-14T19:10:50+08:00",
  43. "NextCronInterval":10,
  44. "NextCronTime":"2021-09-14T19:11:00+08:00"
  45. }
  46. }