fix:单体服务使用seata

上级 e51dafd2
...@@ -134,6 +134,11 @@ ...@@ -134,6 +134,11 @@
<artifactId>seata-spring-boot-starter</artifactId> <artifactId>seata-spring-boot-starter</artifactId>
<version>1.4.0</version> <version>1.4.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
package com.kwan.springbootkwan.service.impl; package com.kwan.springbootkwan.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kwan.springbootkwan.entity.Person; import com.kwan.springbootkwan.entity.Person;
import com.kwan.springbootkwan.mapper.PersonMapper; import com.kwan.springbootkwan.mapper.PersonMapper;
...@@ -13,11 +14,11 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person> impleme ...@@ -13,11 +14,11 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person> impleme
@Autowired @Autowired
private PersonMapper personMapper; private PersonMapper personMapper;
// @DS(value ="ali-ds" ) @DS(value = "ali-ds")
@Override @Override
public Person savePerson(Person person) { public Person savePerson(Person person) {
personMapper.insert(person); personMapper.insert(person);
final int i = 1 / 0; // final int i = 1 / 0;
return person; return person;
} }
} }
package com.kwan.springbootkwan.service.impl; package com.kwan.springbootkwan.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kwan.springbootkwan.entity.Person; import com.kwan.springbootkwan.entity.Person;
import com.kwan.springbootkwan.entity.User; import com.kwan.springbootkwan.entity.User;
...@@ -40,6 +41,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU ...@@ -40,6 +41,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
return userByName; return userByName;
} }
@DS(value = "kwan-ds")
@GlobalTransactional @GlobalTransactional
@Override @Override
public User saveUser(User user) { public User saveUser(User user) {
......
#这个配置是原始配置,不带seata
server: server:
port: 8761 port: 8761
servlet: servlet:
...@@ -11,8 +12,6 @@ swagger: ...@@ -11,8 +12,6 @@ swagger:
#兼容swagger配置 #兼容swagger配置
spring: spring:
application:
name: spring-boot-demo
#项目启动时创建数据表的 SQL 脚本,该脚本由 Spring Batch 提供 #项目启动时创建数据表的 SQL 脚本,该脚本由 Spring Batch 提供
#spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql #spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql
# 在项目启动时执行建表 SQL # 在项目启动时执行建表 SQL
...@@ -50,48 +49,11 @@ spring: ...@@ -50,48 +49,11 @@ spring:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher
# mysql # mysql
datasource: datasource:
url: jdbc:mysql://localhost:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root username: root
password: 716288qwe password: 716288qwe
# dynamic:
# primary: kwan-ds
# datasource:
# kwan-ds:
# url: jdbc:mysql://localhost:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# driver-class-name: com.mysql.cj.jdbc.Driver
# username: root
# password: 716288qwe
## ali-ds:
## url: jdbc:mysql://localhost:3306/spring-boot?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
## driver-class-name: com.mysql.cj.jdbc.Driver
## username: root
## password: 1716288qwe
# seata: true
# cloud:
# nacos:
# discovery:
# server-addr: http://120.79.36.53:8848 #服务注册地址
# config:
# enabled: false
#seata配置
seata:
enable-auto-data-source-proxy: false
application-id: ${spring.application.name}
tx-service-group: ${spring.application.name}-group
service:
vgroup-mapping:
spring-boot-demo-group: default
grouplist:
default: 127.0.0.1:8091
config:
type: file
registry:
type: file
#mybatis-plus配置 #mybatis-plus配置
mybatis-plus: mybatis-plus:
configuration: configuration:
...@@ -112,4 +74,4 @@ mybatis-plus: ...@@ -112,4 +74,4 @@ mybatis-plus:
#logger配置 #logger配置
logging: logging:
config: classpath:logback-spring.xml config: classpath:logback-spring.xml
\ No newline at end of file
#这个配置是单数据库seata
server: server:
port: 8761 port: 8761
servlet: servlet:
...@@ -11,6 +12,8 @@ swagger: ...@@ -11,6 +12,8 @@ swagger:
#兼容swagger配置 #兼容swagger配置
spring: spring:
application:
name: spring-boot-name
#项目启动时创建数据表的 SQL 脚本,该脚本由 Spring Batch 提供 #项目启动时创建数据表的 SQL 脚本,该脚本由 Spring Batch 提供
#spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql #spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql
# 在项目启动时执行建表 SQL # 在项目启动时执行建表 SQL
...@@ -53,6 +56,18 @@ spring: ...@@ -53,6 +56,18 @@ spring:
username: root username: root
password: 716288qwe password: 716288qwe
seata:
application-id: spring-boot-name
tx-service-group: my-tx-group
service:
vgroup-mapping:
my-tx-group: seata-server
grouplist:
seata-server: 127.0.0.1:8091
enabled: true
#mybatis-plus配置 #mybatis-plus配置
mybatis-plus: mybatis-plus:
configuration: configuration:
......
#不同库不同表,带seata
server:
port: 8761
servlet:
encoding:
force: true
charset: UTF-8
enabled: true
swagger:
enable: true
#兼容swagger配置
spring:
application:
name: spring-boot-name
#项目启动时创建数据表的 SQL 脚本,该脚本由 Spring Batch 提供
#spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql
# 在项目启动时执行建表 SQL
batch:
initialize-schema: always
# 禁止 Spring Batch 自动执行,在 SpringBoot 中,默认情况,当项目启动时就会执行配置好的批理操作,添加了该配置后则不会自动执行,而需要用户手动触发执行
job:
enabled: false
mail:
host: smtp.qq.com
# 发送者的邮箱账号
username: 327782001@qq.com
# 邮箱密码授权码
password: kypxnmwfniqrcbeh
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
redis:
database: 0 # Redis数据库索引(默认为0)
host: 120.79.36.53 #Redis服务器地址
port: 6379 # Redis服务器连接端口
password: # Redis服务器连接密码(默认为空)
jedis:
pool:
max-active: 200 # 连接池最大连接数(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 0 # 连接池中的最小空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
mvc:
pathmatch:
matching-strategy: ant_path_matcher
# mysql
datasource:
dynamic:
seata: true
primary: kwan-ds
datasource:
kwan-ds:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 716288qwe
ali-ds:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://120.79.36.53:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 15671628341Qwe.
seata:
application-id: spring-boot-name
tx-service-group: my-tx-group
service:
vgroup-mapping:
my-tx-group: seata-server
grouplist:
seata-server: 127.0.0.1:8091
enabled: true
#mybatis-plus配置
mybatis-plus:
configuration:
map-underscore-to-camel-case: true
call-setters-on-nulls: true
auto-mapping-behavior: full
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath*:mapper/**/*Mapper.xml
global-config:
banner: false
# 逻辑删除配置
db-config:
id-type: AUTO
logic-delete-field: delFlag
logic-delete-value: 1
logic-not-delete-value: 0
table-underline: true
#logger配置
logging:
config: classpath:logback-spring.xml
\ No newline at end of file
...@@ -50,10 +50,21 @@ spring: ...@@ -50,10 +50,21 @@ spring:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher
# mysql # mysql
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver dynamic:
url: jdbc:mysql://localhost:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai seata: true
username: root primary: kwan-ds
password: 716288qwe datasource:
kwan-ds:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 716288qwe
ali-ds:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://120.79.36.53:3306/kwan?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 15671628341Qwe.
seata: seata:
application-id: spring-boot-name application-id: spring-boot-name
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册