From 74297af9877b2ad2162925a1cb71d5f00e393f9a Mon Sep 17 00:00:00 2001 From: EightMonth Date: Tue, 22 Oct 2024 14:09:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=BFseata=E7=9B=B4=E6=8E=A5=E4=B8=8Esp?= =?UTF-8?q?ringboot=20datasource=E6=8C=82=E9=92=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 19 +++++++---------- .../src/main/resources/application.yml | 20 +++++++----------- .../src/main/resources/application.yml | 21 +++++++------------ 3 files changed, 22 insertions(+), 38 deletions(-) diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml index d2b1d6c1ec..cc5108ab1f 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml @@ -6,20 +6,15 @@ spring: main: allow-bean-definition-overriding: true autoconfigure: - exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + exclude: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration datasource: - dynamic: - seata: true # 开启对 seata的支持 - primary: account - datasource: - account: - url: jdbc:mysql://127.0.0.1:3306/jeecg_account?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true - username: root - password: root - driver-class-name: com.mysql.cj.jdbc.Driver - schema: classpath:sql/schema-account.sql + url: jdbc:mysql://127.0.0.1:3306/jeecg_account?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + schema: classpath:sql/schema-account.sql seata: - enable-auto-data-source-proxy: false +# enable-auto-data-source-proxy: false service: grouplist: default: 127.0.0.1:8091 diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml index 7a3ebc445e..8b1635df40 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml @@ -6,21 +6,15 @@ spring: main: allow-bean-definition-overriding: true autoconfigure: - exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + exclude: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration datasource: - dynamic: - primary: order - seata: true # 开启对 seata的支持 - datasource: - # 设置 账号数据源配置 - order: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/jeecg_order?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false - username: root - password: root - schema: classpath:sql/schema-order.sql + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/jeecg_order?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false + username: root + password: root + schema: classpath:sql/schema-order.sql seata: - enable-auto-data-source-proxy: false +# enable-auto-data-source-proxy: false service: grouplist: default: 127.0.0.1:8091 diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml index 9d74d664c3..61b1ba47af 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml @@ -5,21 +5,16 @@ spring: name: seata-product main: allow-bean-definition-overriding: true + autoconfigure: + exclude: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration datasource: - dynamic: - primary: product - seata: true # 开启对 seata的支持 - seata-mode: AT #支持XA及AT模式,默认AT - datasource: - # 设置 账号数据源配置 - product: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/jeecg_product?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false - username: root - password: root - schema: classpath:sql/schema-product.sql + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/jeecg_product?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false + username: root + password: root + schema: classpath:sql/schema-product.sql seata: - enable-auto-data-source-proxy: false +# enable-auto-data-source-proxy: false service: grouplist: default: 127.0.0.1:8091 From ca56c54aa00caade83c35358540b3cee1d4e4bc0 Mon Sep 17 00:00:00 2001 From: EightMonth Date: Thu, 24 Oct 2024 10:52:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8D=87=E7=BA=A7seata=20server1.7.0?= =?UTF-8?q?=E7=89=88=E6=9C=ACsql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg-cloud-test-seata/db/seata.sql | 146 +++++++++--------- 1 file changed, 72 insertions(+), 74 deletions(-) diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql index d9c976667c..eab85b2d6a 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql +++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql @@ -1,79 +1,77 @@ -/* - Navicat Premium Data Transfer - - Source Server : localhost - Source Server Type : MariaDB - Source Server Version : 100316 - Source Host : localhost:3300 - Source Schema : seata - - Target Server Type : MariaDB - Target Server Version : 100316 - File Encoding : 65001 - - Date: 05/01/2022 20:25:07 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; +-- -------------------------------- The script used when storeMode is 'db' -------------------------------- +-- the table to store GlobalSession data +DROP TABLE IF EXISTS `global_table`; +CREATE TABLE IF NOT EXISTS `global_table` +( + `xid` VARCHAR(128) NOT NULL, + `transaction_id` BIGINT, + `status` TINYINT NOT NULL, + `application_id` VARCHAR(32), + `transaction_service_group` VARCHAR(32), + `transaction_name` VARCHAR(128), + `timeout` INT, + `begin_time` BIGINT, + `application_data` VARCHAR(2000), + `gmt_create` DATETIME, + `gmt_modified` DATETIME, + PRIMARY KEY (`xid`), + KEY `idx_status_gmt_modified` (`status` , `gmt_modified`), + KEY `idx_transaction_id` (`transaction_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4; --- ---------------------------- --- Table structure for branch_table --- ---------------------------- +-- the table to store BranchSession data DROP TABLE IF EXISTS `branch_table`; -CREATE TABLE `branch_table` ( - `branch_id` bigint(20) NOT NULL, - `xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `transaction_id` bigint(20) NULL DEFAULT NULL, - `resource_group_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `resource_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `branch_type` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `status` tinyint(4) NULL DEFAULT NULL, - `client_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - PRIMARY KEY (`branch_id`) USING BTREE, - INDEX `idx_xid`(`xid`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for global_table --- ---------------------------- -DROP TABLE IF EXISTS `global_table`; -CREATE TABLE `global_table` ( - `xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `transaction_id` bigint(20) NULL DEFAULT NULL, - `status` tinyint(4) NOT NULL, - `application_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `transaction_service_group` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `transaction_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `timeout` int(11) NULL DEFAULT NULL, - `begin_time` bigint(20) NULL DEFAULT NULL, - `application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `gmt_create` datetime(0) NULL DEFAULT NULL, - `gmt_modified` datetime(0) NULL DEFAULT NULL, - PRIMARY KEY (`xid`) USING BTREE, - INDEX `idx_gmt_modified_status`(`gmt_modified`, `status`) USING BTREE, - INDEX `idx_transaction_id`(`transaction_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +CREATE TABLE IF NOT EXISTS `branch_table` +( + `branch_id` BIGINT NOT NULL, + `xid` VARCHAR(128) NOT NULL, + `transaction_id` BIGINT, + `resource_group_id` VARCHAR(32), + `resource_id` VARCHAR(256), + `branch_type` VARCHAR(8), + `status` TINYINT, + `client_id` VARCHAR(64), + `application_data` VARCHAR(2000), + `gmt_create` DATETIME(6), + `gmt_modified` DATETIME(6), + PRIMARY KEY (`branch_id`), + KEY `idx_xid` (`xid`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4; --- ---------------------------- --- Table structure for lock_table --- ---------------------------- +-- the table to store lock data DROP TABLE IF EXISTS `lock_table`; -CREATE TABLE `lock_table` ( - `row_key` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `xid` varchar(96) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `transaction_id` bigint(20) NULL DEFAULT NULL, - `branch_id` bigint(20) NOT NULL, - `resource_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `table_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `pk` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `gmt_create` datetime(0) NULL DEFAULT NULL, - `gmt_modified` datetime(0) NULL DEFAULT NULL, - PRIMARY KEY (`row_key`) USING BTREE, - INDEX `idx_branch_id`(`branch_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +CREATE TABLE IF NOT EXISTS `lock_table` +( + `row_key` VARCHAR(128) NOT NULL, + `xid` VARCHAR(128), + `transaction_id` BIGINT, + `branch_id` BIGINT NOT NULL, + `resource_id` VARCHAR(256), + `table_name` VARCHAR(32), + `pk` VARCHAR(36), + `status` TINYINT NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking', + `gmt_create` DATETIME, + `gmt_modified` DATETIME, + PRIMARY KEY (`row_key`), + KEY `idx_status` (`status`), + KEY `idx_branch_id` (`branch_id`), + KEY `idx_xid` (`xid`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4; + +DROP TABLE IF EXISTS `distributed_lock`; +CREATE TABLE IF NOT EXISTS `distributed_lock` +( + `lock_key` CHAR(20) NOT NULL, + `lock_value` VARCHAR(20) NOT NULL, + `expire` BIGINT, + primary key (`lock_key`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4; -SET FOREIGN_KEY_CHECKS = 1; +INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0); +INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0); +INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0); +INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0); \ No newline at end of file