transactions-dubbo项目的使用demo
表
CREATE TABLE `t1` (
`id` int NOT NULL AUTO_INCREMENT ,
`name` varchar(64) NULL ,
`time` bigint NOT NULL ,
PRIMARY KEY (`id`)
);
CREATE TABLE `t2` (
`id` int NOT NULL AUTO_INCREMENT ,
`name` varchar(64) NULL ,
`time` bigint NOT NULL ,
PRIMARY KEY (`id`)
);
数据库
demo1-a 只有表t1
demo1-b 只有表t2
demo2-a 只有表t1
demo2-b 只有表t2
demo3-a 只有表t1
项目
demo1 多数据源+ActiveMQ
demo2 多数据源
demo3 单数据源
demo4 单数据源+ActiveMQ
demo5 多数据源+RocketMq
demo6 暂时没东西
事物的使用
多数据源项目:只需要在事物发起者和事物参与者的方法上加@Transactional注解
单数据源项目:只需要在事物发起者的方法上加@Transactional、@XA注解,事物参与者的方法上加@Transactional注解
注意:单数据源项目的事物发起者比多数据源的事物发起者多了一个@XA注解,原因是单数据源默认使用的是1段提交, 加@XA注解的目的是让单数据源的项目使用2段提交,事物参与者单数据源项目和多数据源项目一样加一个@Transactional注解就够了
测试目的
demo1+demo2 主要测试:多数据源项目和多数据源项目相互调用是否正常
demo1+demo2+demo3 主要测试:多数据源项目和单数据源项目相互调用是否正常
demo4+demo1 主要测试:加入ActiveMQ后相互之间调用是否正常
demo5+demo2 主要测试:加入RocketMq后相互之间调用是否正常