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版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
8月前
|
消息中间件 Ubuntu Java
SpringBoot整合MQTT实战:基于EMQX实现双向设备通信
本教程指导在Ubuntu上部署EMQX 5.9.0并集成Spring Boot实现MQTT双向通信,涵盖服务器搭建、客户端配置及生产实践,助您快速构建企业级物联网消息系统。
2672 1
|
消息中间件 Java 网络架构
|
11月前
|
监控 安全 Java
Java 开发中基于 Spring Boot 3.2 框架集成 MQTT 5.0 协议实现消息推送与订阅功能的技术方案解析
本文介绍基于Spring Boot 3.2集成MQTT 5.0的消息推送与订阅技术方案,涵盖核心技术栈选型(Spring Boot、Eclipse Paho、HiveMQ)、项目搭建与配置、消息发布与订阅服务实现,以及在智能家居控制系统中的应用实例。同时,详细探讨了安全增强(TLS/SSL)、性能优化(异步处理与背压控制)、测试监控及生产环境部署方案,为构建高可用、高性能的消息通信系统提供全面指导。附资源下载链接:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
2234 0
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
394 6
|
消息中间件 Java 测试技术
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
这篇文章是关于如何在SpringBoot应用中整合RabbitMQ的消息中间件。内容包括了在SpringBoot项目中添加RabbitMQ的依赖、配置文件设置、启动类注解,以及如何通过单元测试来创建交换器、队列、绑定,并发送和接收消息。文章还介绍了如何配置消息转换器以支持对象的序列化和反序列化,以及如何使用注解`@RabbitListener`来接收消息。
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
|
消息中间件 Java Maven
|
网络协议 Java 物联网
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
2793 3