上文《Springboot集成Rocketmq生产者的案例》我们介绍了在Springboot开发框架中集成Rokectmq生产者的案例,这里我们再演示下Rocketmq消费者的案例。代码还是在上文的而基础上进行改造。
一、添加消费者的配置信息
我们在application.yml的rocketmq节点下添加如下的配置:
consumer: group: group1 # 一次拉取消息最大值,注意是拉取消息的最大值而非消费最大值 pull-batch-size: 10
此时完整的配置文件示例如下图:
二、编写消费者代码
接着我们编写一段消费者的代码来演示下消费刚才的topic1队列里面的消息。完整的代码示例如下:
@Component @RocketMQMessageListener(topic = "topic1", consumerGroup = "group1") public class RokectMQConsumer implements RocketMQListener<String> { @Override public void onMessage(String message) { // 处理消息的逻辑 System.out.println("Received message: " + message); } }
三、运行测试
此时我们把项目启动起来,然后观察控制台,可以看到刚才生产者的消息我们在消费端接收到了:
然后我们再去rocketmq的dashboard上查看对应的信息,可以看到消费者消费了一条数据:
说明我们的消费者是没有任何问题的。
备注:
1、当前的案例主要是演示普通消息的消费,如果想要其他消费模式需改写相关的代码。 2、对消费者来说,我们一般还是不太建议在springboot项目中来集成,如果实在要集成的话,建议使用一个单独的springboot模块来提供集成,因为现如今的开发模块划分很多时候会出现引用的情况,如果当前模块用不到rocketmq,但又依赖于某个带有rocketmq消费者的模块,此时就会出现消息被代收,造成各种错误的情况。
最后按照惯例,附上本案例的源码,登陆后即可下载。
还没有评论,来说两句吧...