当前位置: 首页 > news >正文

自己做的网站如何上传文件全国疫情防控最新数据

自己做的网站如何上传文件,全国疫情防控最新数据,wordpress virtualbox,网站的企业风采怎么做目录 概述 使用 依赖与配置 代码 概述 TCC 模式是一种侵入式的分布式事务解决方案,它不依赖于数据库的事务,而是要求开发者自定义完成 预提交、提交、回滚的方法逻辑。因此,它是一个种偏 复杂、灵活、有侵入性 的分布式事务处理方案。 De…

目录

概述

使用

依赖与配置

代码


概述

   TCC 模式是一种侵入式的分布式事务解决方案,它不依赖于数据库的事务,而是要求开发者自定义完成 预提交、提交、回滚的方法逻辑。因此,它是一个种偏 复杂、灵活、有侵入性 的分布式事务处理方案。

 Demo

   这里附上seata的学习代码demo,开箱即用。包含AT/TCC/XA等模式的使用案例https://download.csdn.net/download/lmj3732018/88864802

使用

依赖与配置

    Seata的TCC模式依赖和配置与AT模式完全一致,只是TCC模式不需要定义 undo_log 数据库表,这里不再赘述。

代码

    1. 在使用时,我们需要在多个本地事务分支的外层使用 @GlobalTransactional 开启全局事务

@Override
@GlobalTransactional(name="createOrder",rollbackFor=Exception.class)
public Order saveOrder(OrderVo orderVo) {log.info("=============用户下单=================");log.info("当前 XID: {}", RootContext.getXID());//获取全局唯一订单号  测试使用Long orderId = UUIDGenerator.generateUUID();//阶段一: 创建订单Order order = orderService.prepareSaveOrder(orderVo,orderId);//扣减库存storageFeignService.deduct(orderVo.getCommodityCode(), orderVo.getCount());//扣减余额accountFeignService.debit(orderVo.getUserId(), orderVo.getMoney());return order;
}

2. 定义各个本地事务分支的预提交、提交、回滚方法

OrderService 接口

/**** 通过 @LocalTCC 这个注解,RM 初始化的时候会向 TC 注册一个分支事务。*/
@LocalTCC
public interface OrderService {/*** TCC的try方法:保存订单信息,状态为支付中** 定义两阶段提交,在try阶段通过@TwoPhaseBusinessAction注解定义了分支事务的 resourceId,commit和 cancel 方法*  name = 该tcc的bean名称,全局唯一*  commitMethod = commit 为二阶段确认方法*  rollbackMethod = rollback 为二阶段取消方法*  BusinessActionContextParameter注解 传递参数到二阶段中*  useTCCFence seata1.5.1的新特性,用于解决TCC幂等,悬挂,空回滚问题,需增加日志表tcc_fence_log*/@TwoPhaseBusinessAction(name = "prepareSaveOrder", commitMethod = "commit", rollbackMethod = "rollback", useTCCFence = true)Order prepareSaveOrder(OrderVo orderVo, @BusinessActionContextParameter(paramName = "orderId") Long orderId);/**** TCC的confirm方法:订单状态改为支付成功** 二阶段确认方法可以另命名,但要保证与commitMethod一致* context可以传递try方法的参数** @param actionContext* @return*/boolean commit(BusinessActionContext actionContext);/*** TCC的cancel方法:订单状态改为支付失败* 二阶段取消方法可以另命名,但要保证与rollbackMethod一致** @param actionContext* @return*/boolean rollback(BusinessActionContext actionContext);
}

OrderServiceImpl实现类

@Service
@Slf4j
public class OrderServiceImpl implements OrderService {@Autowiredprivate OrderMapper orderMapper;@Override@Transactional(rollbackFor = Exception.class)public Order prepareSaveOrder(OrderVo orderVo,@BusinessActionContextParameter(paramName = "orderId") Long orderId) {// 保存订单Order order = new Order();order.setId(orderId);order.setUserId(orderVo.getUserId());order.setCommodityCode(orderVo.getCommodityCode());order.setCount(orderVo.getCount());order.setMoney(orderVo.getMoney());order.setStatus(OrderStatus.INIT.getValue());Integer saveOrderRecord = orderMapper.insert(order);log.info("保存订单{}", saveOrderRecord > 0 ? "成功" : "失败");return order;}@Overridepublic boolean commit(BusinessActionContext actionContext) {// 获取订单idlong orderId = Long.parseLong(actionContext.getActionContext("orderId").toString());//更新订单状态为支付成功Integer updateOrderRecord = orderMapper.updateOrderStatus(orderId, OrderStatus.SUCCESS.getValue());log.info("更新订单id:{} {}", orderId, updateOrderRecord > 0 ? "成功" : "失败");return true;}@Overridepublic boolean rollback(BusinessActionContext actionContext) {//获取订单idlong orderId = Long.parseLong(actionContext.getActionContext("orderId").toString());//更新订单状态为支付失败Integer updateOrderRecord = orderMapper.updateOrderStatus(orderId, OrderStatus.FAIL.getValue());log.info("更新订单id:{} {}", orderId, updateOrderRecord > 0 ? "成功" : "失败");return true;}}

在 storageFeignService 及 accountFeignService的远程方法中也是以同样的方式定义上述三个方法。

http://www.yidumall.com/news/97770.html

相关文章:

  • wordpress开cdn朝阳区seo搜索引擎优化怎么样
  • vs如何做网站百度免费广告发布平台
  • 程序员帮人做黑彩网站免费外链发布
  • 免费发广告帖子的网站重庆seo研究中心
  • 公司网站建设宣传公司网络营销平台有哪些?
  • 德州网站有哪些seo公司上海
  • 民权网站建设seo 服务
  • 网站不能访问如何做冗余seo网络排名优化哪家好
  • wordpress悬浮 联系大冶seo网站优化排名推荐
  • wordpress直接上传视频网站吗seo网站优化培训班
  • 网站设计联系电话环球网
  • 怎么做网站上的销售代四川餐饮培训学校排名
  • 重庆网站建设优化全国新冠疫情最新情况
  • 占酷设计网站官网入口百度竞价推广计划
  • 企业邮箱在哪查看合肥seo整站优化网站
  • 设计网站客户体验市场推广策略
  • 淄博网站建设找李光明比较靠谱的电商培训机构
  • 湖南响应式网站建设费用友情视频
  • 开店做网站有什么好处网站市场推广
  • 沈阳网站建设选网龙网络建站流程
  • 代理注册公司收费标准厦门百度快速优化排名
  • 怎么做系统网站搜索引擎优化关键词
  • 生猪价格今日猪价行情seo知识培训
  • 幼儿园网站设计和建设网页设计模板免费网站
  • vb实现asp网站开发整站seo怎么做
  • 喜茶品牌策划全案案例宁波seo关键词
  • 销售网站开发刷外链网站
  • 网易客服在线咨询关键词优化一般收费价格
  • 网站开发主要框架 后端seo排名怎样
  • 智能网站建设百度6大核心部门