https://github.com/jsbxyyx/rmq-transaction
Sending message consistency based on RocketMQ
https://github.com/jsbxyyx/rmq-transaction
rocketmq spring spring-boot transaction
Last synced: about 2 months ago
JSON representation
Sending message consistency based on RocketMQ
- Host: GitHub
- URL: https://github.com/jsbxyyx/rmq-transaction
- Owner: jsbxyyx
- License: apache-2.0
- Created: 2023-09-21T04:11:52.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-04-27T02:30:57.000Z (2 months ago)
- Last Synced: 2026-04-27T04:21:41.614Z (2 months ago)
- Topics: rocketmq, spring, spring-boot, transaction
- Language: Java
- Homepage:
- Size: 104 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rmq transaction
Sending message consistency based on RocketMQ
[](https://central.sonatype.com/artifact/io.github.jsbxyyx/rmq-transaction)
# how to use
```
io.github.jsbxyyx
rmq-transaction
${rmq-transaction.version}
CREATE TABLE `tb_mq_msg` (
`id` VARCHAR(36) NOT NULL,
`status` VARCHAR(20) NOT NULL COMMENT '事件状态(待发布NEW)',
`mq_template_name` VARCHAR(1000) NOT NULL,
`mq_destination` VARCHAR(1000) NOT NULL,
`mq_timeout` BIGINT NOT NULL,
`mq_delay` VARCHAR(255) NOT NULL,
`payload` TEXT NOT NULL,
`retry_times` INT NOT NULL,
`gmt_create` DATETIME NOT NULL,
`gmt_modified` DATETIME NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_status` (`status`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
迁移执行:
1.0.0 迁移到最新 ALTER TABLE tb_mq_msg MODIFY COLUMN id VARCHAR(36) NOT NULL;
```
# samples
```
@Transactional(rollbackFor = Exception.class)
public int addOrder(Order order) {
// ...
RMQHelper.syncSend(rocketMQTemplate, "order:add", new GenericMessage<>(payload, headers));
return order.getId();
}
```