应用管理与运维平台 ServiceStage应用管理与运维平台 ServiceStage

更新时间:2021/08/06 GMT+08:00
分享

定义全局事务发起者

在需要保证事务一致性的方法上使用注解:

@DTMTxBegin(appName = "xx")

其中,appName是全局事务的唯一标识。

appName需要保证全局唯一。

DTM全局事务发起者定义为transferLocal方法,该方法调用bankA转入服务和bankB转出服务,同时概率抛出异常。在该方法内一旦发生异常,会导致bankB转出失败,DTM会帮助bankA回滚转入操作,从而保证数据的一致性。

// com.huawei.dtm.client.service.TransferService.java
@DTMTxBegin(appName = "transfer-local")
public void transferLocal(int userId, int money) {
    bankAService.transferIn(userId, money);
    ExceptionUtils.addRuntimeException(50);
    bankBService.transferOut(userId, money);
}
分享:

    相关文档

    相关产品