博主记录一次学习使用LCN的过程:

  • 导入LCN的依赖jar包
  • 使用LCN很简单 加个注解就OK了  

 

搭建如下:

  • LCN项目,先搭建事务协调者:
  • 需要Redis,事务分组ID都是缓存到Redis中的

 导入TxManager的整合项目,配置

记录LCN分布式事务框架的代码整合

  • Redis 信息:  用于缓存分组ID

记录LCN分布式事务框架的代码整合

  •  启动项目的Eureka
  • 然后启动 管理者 TxManager

访问:

 记录LCN分布式事务框架的代码整合

底层通信的端口号是 999 走的是netty协议

 


 

整合到项目中去:

  pom.xml

  添加:

        <dependency>
            <groupId>com.codingapi</groupId>
            <artifactId>transaction-springcloud</artifactId>
            <version>4.1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.codingapi</groupId>
            <artifactId>tx-plugins-db</artifactId>
            <version>4.1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

 

 添加到servive实现类的项目 代码pom中

 

同时添加两个实现:

  记录LCN分布式事务框架的代码整合

记录LCN分布式事务框架的代码整合

记录LCN分布式事务框架的代码整合

 

 同时每个的application.yml中添加:

  

tm: 
  manager: 
     url: http://127.0.0.1:8899/tx/manager/

注册到LCN事务管理者里面

 

代码中:

 记录LCN分布式事务框架的代码整合

  记录LCN分布式事务框架的代码整合

这样就OK了

启动Eureka,启动TxManager ,启动order 启动 stock

TxMmanager 的管理界面:

记录LCN分布式事务框架的代码整合

默认5S时间内,参与方没有收到提交事务的通知,会自动进行回滚。

 (以修改源码)

 

相关文章:

  • 2021-06-27
  • 2021-08-15
  • 2022-12-23
  • 2021-11-07
  • 2021-10-11
  • 2021-09-11
  • 2021-11-27
  • 2022-01-16
猜你喜欢
  • 2021-06-05
  • 2022-12-23
  • 2021-05-11
  • 2021-11-23
  • 2022-12-23
  • 2021-11-30
相关资源
相似解决方案