Advertisement

SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍

阅读量:

🧑‍💻作者名称:DaenCode
🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:SpringBoot实战


系列文章目录

以下是专栏部分内容,更多内容请前往专栏查看!

标题
一文带你学会使用SpringBoot+Avue实现短信通知功能(含重要文件代码)
一张思维导图带你学会Springboot创建全局异常、自定义异常
一张思维导图带你打通SpringBoot自定义拦截器的思路
28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈
一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署
一张流程图带你学会SpringBoot结合JWT实现登录功能
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件
一张思维导图带你学会使用SpringBoot异步任务实现下单校验库存
一张思维导图带你学会SpringBoot使用AOP实现日志管理功能

在这里插入图片描述

专栏推荐

  • 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。链接>>>>>>>>>《Redis从头学》
  • 专门为RabbitMQ入门打造的专栏,持续更新中。。。。。。。。链接>>>>>>>《图解RabbitMQ》

文章目录

  • 系列文章目录
  • 专栏推荐
  • 🌟项目创建
  • 🌟POM文件
  • 🌟配置文件修改
  • 🌟测试是否整合成功
  • 🌟RabbitTemplate常用API
  • 🌟写在最后

🌟项目创建

1.进入网址springboot项目创建
2.创建项目,选择相关信息,注意JDK选择8版本。这里依赖添加RabbitMQ和Spring Web。图中漏了Spring Web。
在这里插入图片描述

3.生成压缩包并解压,使用IDEA打开。

🌟POM文件

如果是在原有项目上整合,引入以下依赖即可。

复制代码
    <dependency>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
    <dependency>
    		<groupId>org.springframework.amqp</groupId>
    		<artifactId>spring-rabbit-test</artifactId>
    		<scope>test</scope>
    </dependency>
    
    
      
      
      
      
      
      
      
      
      
    

🌟配置文件修改

复制代码
    #整合rabbitmq
    spring.rabbitmq.host=192.168.124.23
    spring.rabbitmq.port=5672
    spring.rabbitmq.virtual-host= /dev
    spring.rabbitmq.username=admin
    spring.rabbitmq.password=password
    
    
      
      
      
      
      
      
    

🌟测试是否整合成功

测试用例编写,发送消息。

复制代码
    	@Autowired
    	RabbitTemplate rabbitTemplate;
    
    	@Test
    	void contextLoads() {
    		rabbitTemplate.convertAndSend("生产消息");
    	}
    
    
      
      
      
      
      
      
      
    

通过登录web管控台,可以看出有消息的发送和消费过程。rabbitmq消息默认是自动确认的。
在这里插入图片描述

🌟RabbitTemplate常用API

  1. 发送消息:

    • convertAndSend(String exchange, String routingKey, Object message):将消息发送到指定的交换机和路由键。
    • convertAndSend(String exchange, String routingKey, Object message, MessagePostProcessor messagePostProcessor):在发送消息之前对消息进行后处理。
    • convertAndSend(String exchange, String routingKey, Object message, CorrelationData correlationData):将消息发送到指定的交换机和路由键,并关联一个 correlationData。
    • send(String exchange, String routingKey, Message message):发送原始的 AMQP 消息对象。
  2. 接收消息:

    • receive(String queueName):从指定队列接收消息,并在没有消息时立即返回 null。
    • receiveAndConvert(String queueName):从指定队列接收消息,并将消息转换为指定类型的对象。
    • basicConsume(String queue, ChannelAwareMessageListener listener):基于底层的 Channel 消费队列中的消息,并使用指定的监听器处理接收到的消息。
  3. 手动确认:

    • basicAck(long deliveryTag, boolean multiple):手动确认消息的接收。将 deliveryTag 对应的消息标记为已确认。如果 multiple 为 true,则确认所有小于等于 deliveryTag 的消息。
    • basicNack(long deliveryTag, boolean multiple, boolean requeue):手动否认消息的接收。将 deliveryTag 对应的消息标记为未确认,可以选择是否将消息重新放回队列。
    • basicReject(long deliveryTag, boolean requeue):手动拒绝消息的接收。将 deliveryTag 对应的消息标记为未确认,并选择是否将消息重新放回队列。
  4. 消息可靠机制:

    • setCorrelationKey(Message message, byte[] correlationKey):设置消息的关联键(correlation key)。
    • setReturnCallback(ReturnCallback returnCallback):设置消息发送失败时的回调函数。
    • setConfirmCallback(ConfirmCallback confirmCallback):设置消息发送确认的回调函数。

🌟写在最后

有关于SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


请添加图片描述

全部评论 (0)

还没有任何评论哟~