官方文档相关:

GitHub地址:
https://github.com/codingapi/tx-lcn

官方文档:
https://www.codingapi.com/docs/txlcn-preface/

一、运行TX-LCN分布式事务框架

1.下载合适版本(这里我用的是5.0.2)

下载地址:
https://github.com/codingapi/tx-lcn/releases/tag/5.0.2.RELEASE

2.下载并解压

3.导入Idea

导入成功后的项目结构,如图所示:

4.配置数据库连接和新建库

数据库脚本(项目中存在,以项目中存在的SQL脚本为主)

/*
Navicat Premium Data Transfer Source Server : local
Source Server Type : MySQL
Source Server Version : 100309
Source Host : localhost:3306
Source Schema : tx-manager Target Server Type : MySQL
Target Server Version : 100309
File Encoding : 65001 Date: 29/12/2018 18:35:59
*/
CREATE DATABASE IF NOT EXISTS `tx-manager` DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
USE `tx-manager`; SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = ; -- ----------------------------
-- Table structure for t_tx_exception
-- ----------------------------
DROP TABLE IF EXISTS `t_tx_exception`;
CREATE TABLE `t_tx_exception` (
`id` bigint() NOT NULL AUTO_INCREMENT,
`group_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`unit_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`mod_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`transaction_state` tinyint() NULL DEFAULT NULL,
`registrar` tinyint() NULL DEFAULT NULL,
`ex_state` tinyint() NULL DEFAULT NULL COMMENT '0 待处理 1已处理',
`remark` varchar() NULL DEFAULT NULL COMMENT '备注',
`create_time` datetime() NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = ;

application.properties配置内容如下(一般都有,通常改下库名和用户名、密码即可):

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tx-manager?characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=

5.运行txlcn-tm项目

主要启动主类(TMApplication.java)
运行成功后,访问地址为:
http://IP:7970/admin

效果图,如下:

默认密码是codingapi,支持修改(通常改配置文件即可),主要修改application.properties,添加如下内容,即可实现自定义:

tx-lcn.manager.admin-key=tx-lcn-test

登录成功后的效果图如下:

二、微服务中使用分布式事务

1.添加Maven依赖

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>txlcn-tc</artifactId>
<version>5.0..RELEASE</version>
</dependency>
<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>txlcn-txmsg-netty</artifactId>
<version>5.0..RELEASE</version>
</dependency>

2.application.yml或bootstrap.yml配置如下内容

tx-lcn:
client:
manager-address: 127.0.0.1:
logger:
enabled: true
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://127.0.0.1:3306/tx-manager?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password:

3.启动类增加注解

@EnableDistributedTransaction

4.对应的Controller中的方法或者Service方法添加对应的注解

@LcnTransaction
@Transactional

最新文章

  1. centos7.0 安装redis集群
  2. 基于FPGA的飞机的小游戏
  3. .Net 连接字符串的解释
  4. 迭代器 iterator(二): 用iterator遍历arraylist
  5. 转 web项目中的web.xml元素解析
  6. Linux Shell 工作原理
  7. 《UNIX环境高级编程》笔记--更改用户ID和组ID
  8. 为什么Java byte 类型的取值范围是-128~127 (转)
  9. JS 同源策略
  10. Shell脚本——DHCP自动部署
  11. PDB Files: What Every Developer Must Know
  12. 使用Javascript/jQuery将javascript对象转换为json格式数据 - 海涛的CSDN博客 - 博客频道 - CSDN.NET
  13. web服务器之nginx和apache的区别
  14. Vue在ASP.NET MVC中的进行前后端的交互
  15. prompt的工作原理
  16. 【LeetCode】89.Gary Code
  17. J2EE的体系结构是指什么?
  18. leetcode501
  19. [转]Web API OData V4 Keys, Composite Keys and Functions Part 11
  20. Producer Flow Control 和 vmQueueCursor

热门文章

  1. 如何去除List集合中的重复元素?
  2. SpringMVC使用Session
  3. JAVA作业—字符串操作
  4. Reliable Federated Learning for Mobile Networks
  5. Federated Optimization: Distributed Machine Learning for On-Device Intelligence
  6. Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!
  7. Spring 的Controller 是单例or多例
  8. 力扣Leetcode 572. 另一个树的子树
  9. vue的computed属性的理解
  10. php高效读取和写入