SpringBoot整合RocketMQ

简介: SpringBoot整合RocketMQ

1,导入依赖

1. <dependency>
2.     <groupId>org.apache.rocketmq</groupId>
3.     <artifactId>rocketmq-spring-boot-starter</artifactId>
4.     <version>2.0.3</version>
5. </dependency>

2,yml配置文件

3,新建Bean对象User,此处使用lombook简化开发,因为需要网络传输,所以需要对象实现Serializable,完成序列化

4,新建生产者SendController   并且发送同步消息  访问http://localhost:8088/demo/send

出现success!说明发送成功

1. @RestController
2. @RequestMapping("/demo")
3. public class SendController {
4. 
5. @Autowired
6.     RocketMQTemplate rocketMQTemplate;//模板类:建连接及断连结
7. 
8. @GetMapping("/send")
9. public String send(){
10. 
11. User smoky = new User("smoky", 18);
12. 
13. //同步消息
14. SendResult syncSend = rocketMQTemplate.syncSend("topic10", smoky, 3);
15. 
16. return "success!";
17. }

5,发送异步消息

1. //异步消息
2.         rocketMQTemplate.asyncSend("topic10", smoky, new SendCallback() {
3. @Override
4. public void onSuccess(SendResult sendResult) {
5. //成功回调函数
6.                 System.out.println("sendResult = " + sendResult);
7.             }
8. 
9. @Override
10. public void onException(Throwable throwable) {
11. //发送失败回调函数
12.                 System.out.println(throwable);
13.             }
14.         },1000);

//单向消息

rocketMQTemplate.sendOneWay("topic10",smoky);

//延时消息

1. //延时消息
2.         rocketMQTemplate.syncSend("topic10", MessageBuilder.withPayload(msg).build(),2000,2);

新建消费者DemoConsumer  添加@RocketMQMessageListener注解

1. @Service
2. //根据sql过滤
3. @RocketMQMessageListener(topic = "topic10",consumerGroup = "group1",
4.         selectorType = SelectorType.SQL92,
5.         selectorExpression = "age>92",
6.         messageModel = MessageModel.BROADCASTING //广播模式
7.        )
8. 
9. //sql过滤
10. public class DemoConsumer implements RocketMQListener<User> {
11. 
12. @Override
13. public void onMessage(User user) {
14. //业务逻辑
15.         System.out.println("user = " + user);
16.     }
17. }

启动消费者出现如下字样则说明搭建成功,正常一次就可以了,这里为了测试多发送了几次

 

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
3月前
|
消息中间件 Java 网络架构
|
5月前
|
消息中间件 Java RocketMQ
消息队列 MQ产品使用合集之当SpringBoot应用因网络不通而启动失败时,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 Java 测试技术
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
这篇文章是关于如何在SpringBoot应用中整合RabbitMQ的消息中间件。内容包括了在SpringBoot项目中添加RabbitMQ的依赖、配置文件设置、启动类注解,以及如何通过单元测试来创建交换器、队列、绑定,并发送和接收消息。文章还介绍了如何配置消息转换器以支持对象的序列化和反序列化,以及如何使用注解`@RabbitListener`来接收消息。
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
|
3月前
|
网络协议 Java 物联网
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
766 2
|
3月前
|
消息中间件 Java Maven
|
4月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
317 1
|
4月前
|
消息中间件 Java 数据安全/隐私保护
Spring Boot与RabbitMQ的集成
Spring Boot与RabbitMQ的集成
|
4月前
|
消息中间件 Java RocketMQ
Spring Boot与RocketMQ的集成
Spring Boot与RocketMQ的集成
|
4月前
|
消息中间件 Java Spring
实现Spring Boot与RabbitMQ消息中间件的无缝集成
实现Spring Boot与RabbitMQ消息中间件的无缝集成
|
消息中间件 存储 数据可视化
[原创]SpringBoot整合RocketMQ消息队列
[原创]SpringBoot整合RocketMQ消息队列
[原创]SpringBoot整合RocketMQ消息队列