提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
使用springboot整合rabbitmq实现,一个生产者生产一条数据,多个消费者消费同一条数据案例,可以解决微服务分布式事务控制。保证最终一致性原则。
提示:以下是本篇文章正文内容,下面案例可供参考
一、rabbitmq是什么?
相对简易得一种消息中间件,功能强大,性能中等,吞吐量一般。
二、使用步骤
1.引入库
代码如下(示例):
<!-- rabbitmq消息队列--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency>
2.rabbitmq相关配置
@ConfigurationpublicclassRabbitmqConfig{@BeanpublicQueuequeue1(){returnnewQueue("queue1",true);}@BeanpublicFanoutExchangeexchange1(){returnnewFanoutExchange("exchange1",true,false);}@BeanpublicBindingbinding1(){returnBindingBuilder.bind(queue1()).to(exchange1());}}
注:因为是fanout广播模式,所以不用配置路由键。
3.生产者代码
代码如下(示例):
@ResourceprivateRabbitTemplate rabbitTemplate;@TestpublicvoidpushMessage(){HashMap<Object,Object> hashMap =newHashMap<>();
hashMap.put("name","zhangsan");
hashMap.put("age","18");
rabbitTemplate.convertAndSend("exchange1","", hashMap);}
4.多个消费者,消费同一条数据。
消费者1号:
代码如下(示例):
@ComponentpublicclassRabbitMqConsumer{// @RabbitListener(queues = "queue1")@RabbitListener(bindings =@QueueBinding(// value = @Queue(value = "queue1"),
value =@Queue(),//切记: 此处无需设置队列名称,否在得话,多个消费者只有一个消费者能消费数据。其它消费者无法消费数据。
exchange =@Exchange(value ="exchange1",type =ExchangeTypes.FANOUT)))publicvoidgetData(Message message){try{String str =newString(message.getBody(),"utf-8");System.out.println(str);}catch(Exception e){
e.printStackTrace();}}}
消费者2号:
代码如下(示例):
@ComponentpublicclassRabbitMqConsumer{// @RabbitListener(queues = "queue1")@RabbitListener(bindings =@QueueBinding(// value = @Queue(value = "queue1"),
value =@Queue(),//切记: 此处无需设置队列名称,否在得话,多个消费者只有一个消费者能消费数据。其它消费者无法消费数据。
exchange =@Exchange(value ="exchange1",type =ExchangeTypes.FANOUT)))publicvoidgetData(Message message){try{String str =newString(message.getBody(),"utf-8");System.out.println(str);}catch(Exception e){
e.printStackTrace();}}}
结束,希望能够帮助各位。
总结
人生物语:活得优雅些。也许你的生活并不富裕;也许你的工作不够好;也许你正处在困境中;也许你被情所弃。不论什么原因,请你在出门时,一定要让自己面带微笑,从容自若地去面对生活。只要你自己真正撑起来了,别人无论如何是压不垮你的。
版权归原作者 凉忆- 所有, 如有侵权,请联系我们删除。