From 80d478d2d0954f9629dcc858531ee7c76174b001 Mon Sep 17 00:00:00 2001 From: YunaiV <> Date: Sun, 5 Apr 2020 22:16:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20dubbo=20x=20seata=20?= =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++-- .../accountservice/service/AccountServiceImpl.java | 3 +-- .../lab-53-seata-at-dubbo-demo-order-service/pom.xml | 6 +++--- .../lab53/orderservice/service/OrderServiceImpl.java | 1 - .../lab-53-seata-at-dubbo-demo-product-service/pom.xml | 6 +++--- .../productservice/service/ProductServiceImpl.java | 3 +-- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 61bc7689..a2d778e8 100644 --- a/README.md +++ b/README.md @@ -236,6 +236,11 @@ **[Sentinel](http://www.iocoder.cn/Sentinel/install/?github)** * [《芋道 Spring Cloud Alibaba 服务调用 Dubbo 入门》](http://www.iocoder.cn/Spring-Cloud-Alibaba/Dubbo/?github)的[「6. 整合 Sentinel」](#)小节 +## 分布式事务 + +**[Seata](http://www.iocoder.cn/Seata/install/?github)** +* [《芋道 Dubbo 分布式事务 Seata 入门》](http://www.iocoder.cn/Dubbo/Seata/?self) 对应 [lab-53](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-53) + ## 链路追踪 **[SkyWalking](http://www.iocoder.cn/SkyWalking/install/?github)** @@ -283,8 +288,9 @@ ## AT 方案 -* [《芋道 Spring Boot 分布式事务 Seata 入门》](http://www.iocoder.cn/Spring-Boot/Seata/?self) 的[「2. AT 模式 + 多数据源」](#)小节,实现单体 Spring Boot 项目在多数据源下的分布式事务 -* [《芋道 Spring Boot 分布式事务 Seata 入门》](http://www.iocoder.cn/Spring-Boot/Seata/?self) 的[「AT 模式 + HttpClient 远程调用」](#)小节,实现多个 Spring Boot 项目的分布事务 +* [《芋道 Spring Boot 分布式事务 Seata 入门》](http://www.iocoder.cn/Spring-Boot/Seata/?self)的[「2. AT 模式 + 多数据源」](#)小节,实现单体 Spring Boot 项目在多数据源下的分布式事务 +* [《芋道 Spring Boot 分布式事务 Seata 入门》](http://www.iocoder.cn/Spring-Boot/Seata/?self)的[「AT 模式 + HttpClient 远程调用」](#)小节,实现多个 Spring Boot 项目的分布式事务 +* [《芋道 Dubbo 分布式事务 Seata 入门》](http://www.iocoder.cn/Dubbo/Seata/?self) 的[「2. AT 模式」](#)小节,实现多个 Dubbo 服务的分布式事务。 ## TCC 方案 diff --git a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-account-service/src/main/java/cn/iocoder/springboot/lab53/accountservice/service/AccountServiceImpl.java b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-account-service/src/main/java/cn/iocoder/springboot/lab53/accountservice/service/AccountServiceImpl.java index c5e5cebc..8c6a09d3 100644 --- a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-account-service/src/main/java/cn/iocoder/springboot/lab53/accountservice/service/AccountServiceImpl.java +++ b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-account-service/src/main/java/cn/iocoder/springboot/lab53/accountservice/service/AccountServiceImpl.java @@ -6,7 +6,6 @@ import io.seata.core.context.RootContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @org.apache.dubbo.config.annotation.Service @@ -18,7 +17,7 @@ public class AccountServiceImpl implements AccountService { private AccountDao accountDao; @Override - @Transactional(propagation = Propagation.REQUIRES_NEW) // 开启新事物 + @Transactional // 开启新事物 public void reduceBalance(Long userId, Integer price) throws Exception { logger.info("[reduceBalance] 当前 XID: {}", RootContext.getXID()); diff --git a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/pom.xml b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/pom.xml index 10693d43..766f0970 100644 --- a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/pom.xml +++ b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/pom.xml @@ -60,19 +60,19 @@ 1.1.0 - + org.apache.dubbo dubbo 2.7.4.1 + org.apache.dubbo dubbo-spring-boot-starter 2.7.4.1 - - + com.alibaba dubbo-registry-nacos diff --git a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/src/main/java/cn/iocoder/springboot/lab53/orderservice/service/OrderServiceImpl.java b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/src/main/java/cn/iocoder/springboot/lab53/orderservice/service/OrderServiceImpl.java index 1a445090..a7e32e34 100644 --- a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/src/main/java/cn/iocoder/springboot/lab53/orderservice/service/OrderServiceImpl.java +++ b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-order-service/src/main/java/cn/iocoder/springboot/lab53/orderservice/service/OrderServiceImpl.java @@ -22,7 +22,6 @@ public class OrderServiceImpl implements OrderService { @Reference private AccountService accountService; - @Reference private ProductService productService; diff --git a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/pom.xml b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/pom.xml index 73ee3dcb..05435d01 100644 --- a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/pom.xml +++ b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/pom.xml @@ -50,19 +50,19 @@ 1.1.0 - + org.apache.dubbo dubbo 2.7.4.1 + org.apache.dubbo dubbo-spring-boot-starter 2.7.4.1 - - + com.alibaba dubbo-registry-nacos diff --git a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/src/main/java/cn/iocoder/springboot/lab53/productservice/service/ProductServiceImpl.java b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/src/main/java/cn/iocoder/springboot/lab53/productservice/service/ProductServiceImpl.java index 10d68b95..f864becf 100644 --- a/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/src/main/java/cn/iocoder/springboot/lab53/productservice/service/ProductServiceImpl.java +++ b/lab-53/lab-53-seata-at-dubbo-demo/lab-53-seata-at-dubbo-demo-product-service/src/main/java/cn/iocoder/springboot/lab53/productservice/service/ProductServiceImpl.java @@ -6,7 +6,6 @@ import io.seata.core.context.RootContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @org.apache.dubbo.config.annotation.Service @@ -18,7 +17,7 @@ public class ProductServiceImpl implements ProductService { private ProductDao productDao; @Override - @Transactional(propagation = Propagation.REQUIRES_NEW) // 开启新事物 + @Transactional // 开启新事物 public void reduceStock(Long productId, Integer amount) throws Exception { logger.info("[reduceStock] 当前 XID: {}", RootContext.getXID());