Rocketmq Spring Boot Starter

Spring Boot starter for RocketMQ
Alternatives To Rocketmq Spring Boot Starter
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Javaguide134,249
a day ago66apache-2.0Java
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
Javafamily31,639
9 months ago
【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Spring Cloud Alibaba25,76172 days ago31September 15, 2022436apache-2.0Java
Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.
Dynamic Tp2,557
12 hours ago7June 13, 202223apache-2.0Java
🔥🔥🔥轻量级动态线程池,内置监控告警功能,集成三方中间件线程池管理,基于主流配置中心(已支持Nacos、Apollo,Zookeeper、Consul、Etcd,可通过SPI自定义实现)。Lightweight dynamic threadpool, with monitoring and alarming functions, base on popular config centers (already support Nacos、Apollo、Zookeeper、Consul, can be customized through SPI).
Spring Boot Quick2,152
3 months ago12Java
:herb: 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、k3s、k3d、k8s、mybatis加解密插件、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等:pushpin:
Blog1,972
4 years ago
每周一篇,内容精简,不咸不淡,期盼探讨。微信公众号:芋道源码【纯源码分享公众号】
Rocketmq Spring1,864916 hours ago7January 08, 202160apache-2.0Java
Apache RocketMQ Spring Integration
Whatsmars1,842
8 days ago10apache-2.0Java
Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)🔥🔥🔥🔥🔥
Six Finger1,715
12 days ago1Java
📓从Java基础、JavaWeb基础到常用的框架再到面试题、微服务、分布式、大数据都有完整的教程,几乎涵盖了Java必备的知识点
Myth1,48613 months ago2April 16, 201951apache-2.0Java
Reliable messages resolve distributed transactions
Alternatives To Rocketmq Spring Boot Starter
Select To Compare


Alternative Project Comparisons
Readme

spring boot starter for RocketMQ Build Status Coverage Status

Maven CentralGitHub release

项目介绍

Rocketmq 是由阿里巴巴团队开发并捐赠给apache团队的优秀消息中间件,承受过历年双十一大促的考验。

你可以通过本项目轻松的集成Rocketmq到你的SpringBoot项目中。 本项目主要包含以下特性

  • [x] 同步发送消息
  • [x] 异步发送消息
  • [x] 广播发送消息
  • [x] 有序发送和消费消息
  • [x] 发送延时消息
  • [x] 消息tag和key支持
  • [x] 自动序列化和反序列化消息体
  • [x] 消息的实际消费方IP追溯
  • [x] 发送事务消息(NEW)
  • [ ] ...
  • [x] 发送即忘消息(可能由于直接抛弃所有异常导致消息静默丢失,弃用)
  • [x] 拉取方式消费(配置方式复杂,位点可能发生偏移,弃用)

简单入门实例

1. 添加maven依赖:
<dependency>
    <groupId>com.maihaoche</groupId>
    <artifactId>spring-boot-starter-rocketmq</artifactId>
    <version>0.1.0</version>
</dependency>
2. 添加配置:
spring:
    rocketmq:
      name-server-address: 172.21.10.111:9876
      # 可选, 如果无需发送消息则忽略该配置
      producer-group: local_pufang_producer
      # 发送超时配置毫秒数, 可选, 默认3000
      send-msg-timeout: 5000
      # 追溯消息具体消费情况的开关,默认打开
      #trace-enabled: false
      # 是否启用VIP通道,默认打开
      #vip-channel-enabled: false
3. 程序入口添加注解开启自动装配

在springboot应用主入口添加@EnableMQConfiguration注解开启自动装配:

@SpringBootApplication
@EnableMQConfiguration
class DemoApplication {
}
4. 构建消息体

通过我们提供的Builder类创建消息对象,详见wiki

MessageBuilder.of(new MSG_POJO()).topic("some-msg-topic").build();
5. 创建发送方

详见wiki

@MQProducer
public class DemoProducer extends AbstractMQProducer{
}
6. 创建消费方

详见wiki支持springEL风格配置项解析,如存在suclogger-test-cluster配置项,会优先将topic解析为配置项对应的值。

@MQConsumer(topic = "${suclogger-test-cluster}", consumerGroup = "local_sucloger_dev")
public class DemoConsumer extends AbstractMQPushConsumer {

    @Override
    public boolean process(Object message, Map extMap) {
        // extMap 中包含messageExt中的属性和message.properties中的属性
        System.out.println(message);
        return true;
    }
}
7. 发送消息:

// 注入发送者
@Autowired
private DemoProducer demoProducer;
    
...
    
// 发送
demoProducer.syncSend(msg)
    

发送事务消息###

Since 0.1.0

5.1 事务消息发送方#####
@MQTransactionProducer(producerGroup = "${camaro.mq.transactionProducerGroup}")
public class DemoTransactionProducer extends AbstractMQTransactionProducer {

    @Override
    public LocalTransactionState executeLocalTransaction(Message msg, Object arg) {
        // executeLocalTransaction
        return LocalTransactionState.UNKNOW;
    }

    @Override
    public LocalTransactionState checkLocalTransaction(MessageExt msg) {
        // LocalTransactionState.ROLLBACK_MESSAGE
        return LocalTransactionState.COMMIT_MESSAGE;
    }
}
Popular Rocketmq Projects
Popular Spring Projects
Popular Messaging Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Spring
Spring Boot
Apache
Wiki
Rocketmq
Spring Boot Starter