前言
在上一篇,我们谈到了如何基于RabbitMq实现一个通用的分布式事务解决方案的基本思路,本篇将具体具体编码来实现这一过程
环境准备
创建一个用于记录rabbitmq消息传递过程中的各自状态信息的表
CREATE TABLE `trans_message` (
`id` varchar(64) DEFAULT NULL,
`service` varchar(255) DEFAULT NULL,
`type` varchar(255) DEFAULT NULL,
`exchange` varchar(255) DEFAULT NULL,
`routing_key` varchar(255) DEFAULT NULL,
`queue` varchar(255) DEFAULT NULL,
`sequence` int(12) DEFAULT NULL,
`payload` varchar(255) DEFAULT NULL,
`date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
项目框架结构: springboot + mysql + mybatis + rabbitmq
1、基本项目依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spri