Răsfoiți Sursa

feat:在三个微服务模块中进行seata客户端的配置,并在业务链路入口使用@GlobalTransactional注解开启分布式事务

yang yi 1 an în urmă
părinte
comite
7aac0eaa1b

+ 22 - 0
seata_ccount_micro_service/src/main/resources/application.yaml

@@ -24,3 +24,25 @@ logging:
   level:
     io:
       seata: info
+seata:
+  registry:
+    # 配置seata客户端的注册中心, 告诉seata client 怎么去访问seata server(TC)
+    type: nacos
+    nacos:
+      # seata server 所在的nacos服务地址
+      server-addr: 127.0.0.1:8848
+      # seata server 的服务名seata-server ,如果没有修改可以不配
+      application: seata-server
+      # seata server 所在的组,默认就是SEATA_GROUP,没有改也可以不配
+      group: SEATA_GROUP
+      cluster: default
+  config:
+    type: nacos
+    nacos:
+      server-addr: 127.0.0.1:8848
+      group: SEATA_GROUP
+  #这里每个服务都是对应不同的映射名,在配置中心可以看到
+  tx-service-group: account_tx_group
+  service:
+    vgroup-mapping:
+      account_tx_group: default

+ 4 - 1
seata_order_micro_servic/src/main/java/space/anyi/seataOrderMicroService/service/impl/OrderServiceImpl.java

@@ -1,6 +1,7 @@
 package space.anyi.seataOrderMicroService.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.seata.spring.annotation.GlobalTransactional;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import space.anyi.seataOrderMicroService.domain.Order;
@@ -22,7 +23,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     private AccountService accountService;
     @Autowired
     private StorageService storageService;
-
+    //使用@GlobalTransactional开启分布式事务
+    //name为事务名称,rollbackFor指定回滚的异常类型
+    @GlobalTransactional(name = "seata_order_micro_service",rollbackFor = Exception.class)
     @Override
     public void saveOrder(Order order) {
         log.info("开始创建订单");

+ 22 - 0
seata_order_micro_servic/src/main/resources/application.yaml

@@ -36,3 +36,25 @@ feign:
       seata-account-micro-service:
         readTimeout: 6000
         connectTimeout: 1000
+seata:
+  registry:
+    # 配置seata客户端的注册中心, 告诉seata client 怎么去访问seata server(TC)
+    type: nacos
+    nacos:
+      # seata server 所在的nacos服务地址
+      server-addr: 127.0.0.1:8848
+      # seata server 的服务名seata-server ,如果没有修改可以不配
+      application: seata-server
+      # seata server 所在的组,默认就是SEATA_GROUP,没有改也可以不配
+      group: SEATA_GROUP
+      cluster: default
+  config:
+    type: nacos
+    nacos:
+      server-addr: 127.0.0.1:8848
+      group: SEATA_GROUP
+  #这里每个服务都是对应不同的映射名,在配置中心可以看到
+  tx-service-group: order_tx_group
+  service:
+    vgroup-mapping:
+      order_tx_group: default

+ 22 - 0
seata_storage_micro_service/src/main/resources/application.yaml

@@ -24,3 +24,25 @@ logging:
   level:
     io:
       seata: info
+seata:
+  registry:
+    # 配置seata客户端的注册中心, 告诉seata client 怎么去访问seata server(TC)
+    type: nacos
+    nacos:
+      # seata server 所在的nacos服务地址
+      server-addr: 127.0.0.1:8848
+      # seata server 的服务名seata-server ,如果没有修改可以不配
+      application: seata-server
+      # seata server 所在的组,默认就是SEATA_GROUP,没有改也可以不配
+      group: SEATA_GROUP
+      cluster: default
+  config:
+    type: nacos
+    nacos:
+      server-addr: 127.0.0.1:8848
+      group: SEATA_GROUP
+  #这里每个服务都是对应不同的映射名,在配置中心可以看到
+  tx-service-group: storage_tx_group
+  service:
+    vgroup-mapping:
+      storage_tx_group: default