記錄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