From 48aaad3b6ca3f007c497ade819e59900df812e9a Mon Sep 17 00:00:00 2001 From: life <13122192336@163.com> Date: Tue, 8 Aug 2023 22:47:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90seata=E7=BB=93=E5=90=88=E6=96=B9=E5=BC=8F=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/zh/core/tx.md | 9 +++++++ .../boot/MybatisFlexAutoConfiguration.java | 6 +---- .../spring/FlexSqlSessionFactoryBean.java | 25 ------------------- .../src/main/resources/application.yml | 11 -------- .../src/main/resources/application.yml | 11 +------- .../src/main/resources/application.yml | 11 +------- 6 files changed, 12 insertions(+), 61 deletions(-) diff --git a/docs/zh/core/tx.md b/docs/zh/core/tx.md index 731c4b9f..fb6eb4ea 100644 --- a/docs/zh/core/tx.md +++ b/docs/zh/core/tx.md @@ -238,3 +238,12 @@ seata: 1.7.0 ``` +### 事例 +请到mybatis-flex-test模块下面: +```xml +mybatis-flex-spring-boot-seata:flex多数据源与seata的结合 +``` +```xml +mybatis-flex-spring-boot-seata-demo:官方demo与flex结合 +``` + diff --git a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java index 51ad7587..be082ebe 100644 --- a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java +++ b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java @@ -226,12 +226,8 @@ public class MybatisFlexAutoConfiguration implements InitializingBean { @ConditionalOnMissingBean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { - FlexSqlSessionFactoryBean factory = new FlexSqlSessionFactoryBean(); + SqlSessionFactoryBean factory = new FlexSqlSessionFactoryBean(); factory.setDataSource(dataSource); - if (properties.getSeataConfig() !=null && properties.getSeataConfig().isEnable()){ - factory.setSeata(true); - factory.setSeataMode(properties.getSeataConfig().getSeataMode()); - } if (properties.getConfiguration() == null || properties.getConfiguration().getVfsImpl() == null) { factory.setVfs(SpringBootVFS.class); } diff --git a/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/FlexSqlSessionFactoryBean.java b/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/FlexSqlSessionFactoryBean.java index 90769b57..b78352c3 100644 --- a/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/FlexSqlSessionFactoryBean.java +++ b/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/FlexSqlSessionFactoryBean.java @@ -154,21 +154,6 @@ public class FlexSqlSessionFactoryBean extends SqlSessionFactoryBean private ObjectWrapperFactory objectWrapperFactory; - - private boolean seata = false; - - - private SeataMode seataMode = SeataMode.AT; - - - public void setSeata(boolean seata) { - this.seata = seata; - } - - public void setSeataMode(SeataMode seataMode) { - this.seataMode = seataMode; - } - /** * Sets the ObjectFactory. * @@ -615,16 +600,6 @@ public class FlexSqlSessionFactoryBean extends SqlSessionFactoryBean // fixed https://gitee.com/mybatis-flex/mybatis-flex/issues/I70QWU // 兼容SpringManagedTransactionFactory否则在使用JdbcTemplate,多数据源使用JdbcTemplate报错 //fixed https://gitee.com/mybatis-flex/mybatis-flex/issues/I7HJ4J - // 兼容单数据源seata - if (!(dataSource instanceof FlexDataSource)){ - if (seata){ - if (seataMode == SeataMode.XA){ - dataSource = new DataSourceProxyXA(dataSource); - }else { - dataSource = new DataSourceProxy(dataSource); - } - } - } targetConfiguration.setEnvironment(new Environment(this.environment, // this.transactionFactory == null ? new SpringManagedTransactionFactory() : this.transactionFactory, // this.transactionFactory == null ? new JdbcTransactionFactory() : this.transactionFactory, diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/account-service/src/main/resources/application.yml b/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/account-service/src/main/resources/application.yml index 371eb904..d6583cd6 100755 --- a/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/account-service/src/main/resources/application.yml +++ b/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/account-service/src/main/resources/application.yml @@ -1,14 +1,5 @@ server: port: 8083 -mybatis-flex: - seata-config: - enable: true #启动seata - seata-mode: XA #xa或者ta -# datasource: -# accountdb: -# url: jdbc:mysql://127.0.0.1:3306/db_account -# username: root -# password: 131496 spring: main: allow-circular-references: true @@ -21,8 +12,6 @@ seata: enabled: true application-id: account-service tx-service-group: my_test_tx_group - enable-auto-data-source-proxy: false - #use-jdk-proxy: false client: rm: async-commit-buffer-limit: 1000 diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/order-service/src/main/resources/application.yml b/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/order-service/src/main/resources/application.yml index 19705685..b9adc104 100755 --- a/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/order-service/src/main/resources/application.yml +++ b/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/order-service/src/main/resources/application.yml @@ -1,14 +1,5 @@ server: port: 8082 -mybatis-flex: - seata-config: - enable: true #启动seata - seata-mode: XA #xa或者ta -# datasource: -# orderdb: -# url: jdbc:mysql://127.0.0.1:3306/db_order -# username: root -# password: 131496 spring: main: allow-circular-references: true @@ -21,7 +12,7 @@ seata: enabled: true application-id: order-service tx-service-group: my_test_tx_group - enable-auto-data-source-proxy: false +# enable-auto-data-source-proxy: false #use-jdk-proxy: false client: rm: diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/stock-service/src/main/resources/application.yml b/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/stock-service/src/main/resources/application.yml index b681e6fa..ee162b51 100755 --- a/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/stock-service/src/main/resources/application.yml +++ b/mybatis-flex-test/mybatis-flex-spring-boot-seata-demo/stock-service/src/main/resources/application.yml @@ -1,14 +1,5 @@ server: port: 8081 -mybatis-flex: - seata-config: - enable: true #启动seata - seata-mode: XA #xa或者ta -# datasource: -# stockdb: -# url: jdbc:mysql://127.0.0.1:3306/db_stock -# username: root -# password: 131496 spring: main: allow-circular-references: true @@ -21,7 +12,7 @@ seata: enabled: true application-id: stock-service tx-service-group: my_test_tx_group - enable-auto-data-source-proxy: false +# enable-auto-data-source-proxy: false #use-jdk-proxy: false client: rm: