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

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


系列文章目录

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

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

SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍_第1张图片


专栏推荐

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

文章目录

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

项目创建

1.进入网址springboot项目创建
2.创建项目,选择相关信息,注意JDK选择8版本。这里依赖添加RabbitMQ和Spring Web。图中漏了Spring Web。
SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍_第2张图片

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

POM文件

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

<dependency>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-amqpartifactId>
dependency>
<dependency>
		<groupId>org.springframework.amqpgroupId>
		<artifactId>spring-rabbit-testartifactId>
		<scope>testscope>
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消息默认是自动确认的。
SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍_第3张图片

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介绍到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


请添加图片描述

你可能感兴趣的:(SpringBoot实战,spring,boot,java-rabbitmq,rabbitmq)