博主記錄一次學習使用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時間內,參與方沒有收到提交事務的通知,會自動進行回滾。
(以修改源碼)
