一、搭建事务管理器
新建项目
编写pom.xml
<dependencies>
<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>txlcn-tm</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
编写配置文件 .properties
spring.application.name=TransactionManager
server.port=7970
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/tx-manager?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.redis.host=xxx.xxx.xxx.xxx
tx-lcn.logger.enabled=false
新建启动器
新建调用事务的项目
编写pom.xml
<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>txlcn-tc</artifactId>
</dependency>
<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>txlcn-txmsg-netty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
编写配置文件
spring:
application:
name: user-selectbyuser
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/microservice
username: root
password: xxx
data:
mongodb:
authentication-database: admin
username: xxxx
password: xxxx
database: livegoods
port: 27017
host: xxx.xxx.xxx.xxx
server:
port: 8097
tx-lcn:
client:
manager-address: 127.0.0.1:8070
事务的使用
@Override
@TccTransaction
public int insert(Users user) {
Users result = usersDao.insert(user);
if(result!=null){
return 1;
}
return 0;
}
/**
* 把新增的数据进行删除
* @param user
*/
public void cancelInsert(Users user){
System.out.println("cancel---------------");
usersDao.deleteByUsername(user.getUsername());
}