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


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

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

 

搭建如下:

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

 导入TxManager的整合项目,配置

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

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

访问:

 

底层通信的端口号是 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中

 

同时添加两个实现:

  

 

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

  

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

注册到LCN事务管理者里面

 

代码中:

 

  

这样就OK了

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

TxMmanager 的管理界面:

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

 (以修改源码)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM