RocketMQ实战(2)-springBoot整合RabbitMQ-- 使用rocketMQTemplate
发布日期:2021-04-30 21:10:23
浏览次数:80
分类:精选文章
本文共 1885 字,大约阅读时间需要 6 分钟。
RocketMQ实战(2) Spring Boot整合 RocketMQ——使用 RocketMQTemplate
在本节中,我们将使用 RocketMQTemplate 来简化相关操作。这是开发过程中常用的方法,接下来我们将展示一些实际操作步骤。
1. 创建 Spring Boot 项目,并引入依赖
首先,我们需要创建一个 Spring Boot 项目,并引入 RocketMQ 的相关依赖。以下是具体的依赖配置:
org.apache.rocketmq rocketmq-spring-boot-starter 2.1.1
2. 创建生产者项目,并进行参数配置
接下来,我们来看如何配置生产者项目。以下是一些常用的配置参数:
RocketMQ 参数配置
rocketmq.nameServer地址:127.0.0.1:9876生产者配置: group: ${spring.application.name} send-message-timeout: 300000 # 发送消息超时时间 retry-times-when-send-async-failed: 0 # 异步消息发送失败的重试次数 retry-times-when-send-failed: 2 # 消息发送失败后的最大重试次数 compress-message-body-threshold: 4096 # 消息体超过多大开始压缩 max-message-size: 4194304 # 消息最大容量 retry-next-server: true 模拟发送消息代码示例
我们可以通过 RocketMQTemplate 来发送消息。以下是一个简单的示例代码:
@RestControllerpublic class TestTemplateController { @Autowired private RocketMQTemplate rocketMQTemplate; // 发送普通消息 @RequestMapping("/temSend") public String send(String message) { String randomSuffix = Math.random() + ""; return "ok"; }} 3. 创建消费者项目,并进行自动化配置
消费者项目的配置相对简单。以下是一些常用的配置参数:
RocketMQ 参数配置
rocketmq.nameServer地址:127.0.0.1:9876
创建消息监听
为了接收消息,我们可以创建一个消息监听器。以下是一个简单的示例代码:
@Component@RocketMQMessageListener( consumerGroup = "testConsumer", topic = "Test-Template-Topic")@Log4jpublic class TestMsgListener implements RocketMQListener { @Override public void onMessage(Object o) { System.out.println("接收到消息:" + o + "----" + System.currentTimeMillis()); }} 4. RocketMQTemplate 的使用
通过 RocketMQTemplate,我们可以简化 RocketMQ 的相关操作。例如,发送消息和接收消息都变得更加方便。以下是一些常用的操作方法:
发送消息
rocketMQTemplate.convertAndSend("Topic名称", 消息内容); 接收消息
rocketMQTemplate.receiveAndConvert("Topic名称"); 5. 总结
通过以上步骤,我们已经完成了 Spring Boot 项目中 RocketMQ 的整合配置。我们可以通过配置生产者和消费者,发送消息和接收消息,快速完成一个完整的 RocketMQ 应用开发。
如果您觉得这篇文章有用,请点赞支持一下!继续努力创作更多有趣的技术内容!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2026年06月02日 14时06分59秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php把get参数放入数组_php怎么将数组转为url参数?
2023-03-01
php接口返回数据 用echo 还是return?
2023-03-01
php接口返回状态,大家一般怎么规范接口返回内容
2023-03-01
php接收formdata上传的多个文件,使用formData()上传多个文件
2023-03-01
PHP操作csv文件导入+导出
2023-03-01
php操作mysql用select_php如何操作mysql获取select 结果
2023-03-01
PHP操作符与控制结构
2023-03-01
PHP支付宝SDK使用,电脑网页支付
2023-03-01
php支付宝手机网页支付类实例
2023-03-01
PHP改变数组key值的方法
2023-03-01
php教程之php空白页的原因及解决方法
2023-03-01
PHP数据库操作
2023-03-01
PHP数据文件过大,导致PHP加速器eaccelerator在PHP5.2版本下崩溃
2023-03-01
RabbitMQ - 死信、TTL原理、延迟队列安装和配置
2023-03-01
PHP数据访问的多重查询(租房子查询)
2023-03-01
RabbitMQ - 如保证消息的可靠性?(消息确认、消息持久化、失败重试机制)
2023-03-01
RabbitMQ - 基于 SpringAMQP 带你实现五种消息队列模型
2023-03-01
php数组函数分析--array_column
2023-03-01
php数组去重复数据的小例子
2023-03-01
php数组实现:哈希 +双向链表
2023-03-01