Springcloud—B站学习总结—Springcloud Alibaba—seata之Order模块搭建
业务:
下订单—>减库存—>扣余额—>改订单状态
新建Order(订单)模块搭建
步骤:
1.创建moudleseata-order-service2001
2.改POM文件
引入seata的pom文件的依赖会发现seata自带版本,所以我们要先移除自带版本,导入自己需要的版本就ok了
3.编写YML文件
server:
port: 2001
spring:
application:
name: seata-order-service
cloud:
alibaba:
seata:
#自定义事务组名称需要与seata-server中的对应
tx-service-group: fsp_tx_group
nacos:
discovery:
server-addr: localhost:8848
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/seata_order
username: root
password: admin123
feign:
hystrix:
enabled: false
logging:
level:
io:
seata: info
mybatis:
mapperLocations: classpath:mapper/*.xml
4.file.conf
编写seata-server的file.conf文件
5.registry.conf
编写seata-server的registry.conf文件
6.创建实体domain
- CommonResult类
- Order实体类
7.Dao接口及实现
OrderDao
resources
文件夹下新建mapper文件夹后添加OrderMapper.xml
文件
8.Service接口及实现
9.Controller编写
10.Config配置
- MybatisConfig
- DataSourceProxyConfig
11.主启动类
storage2002和account2003步骤和order模块一样
@GlobalTrascational注解
- 超时异常,没加@GlobalTrascational
比如说:AccountServiceImpl
添加超时
故障情况
2. 超时异常,加了@GlobalTrascational
比如说:AccountServiceImpl
添加超时,OrderServiceImpl
添加注解@GlobalTrascational
,下单后数据库数据没有任何变化,记录都添加不进来