SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)

这篇具有很好参考价值的文章主要介绍了SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq

1. 前言

SpringAMQP 是基于 RabbitMQ 封装的一套模板,并且还利用 SpringBoot 对其实现了自动装配,使用起来非常方便。

SpringAmqp 的官方地址:https://spring.io/projects/spring-amqp

SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq


SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq


说明

1.Spring AMQP 是对 Spring 基于 AMQP 的消息收发解决方案,它是一个抽象层,不依赖于特定的 AMQP Broker 实现和客户端的抽象,所以可以很方便地替换。比如我们可以使用 spring-rabbit 来实现。

2.spring-rabbit用于与RabbitMQ服务器交互的工具包

3.SpringAMQP提供了三个功能:

  • 自动声明队列、交换机及其绑定关系
  • 基于注解的监听器模式,异步接收消息
  • 封装了RabbitTemplate工具,用于发送和接收消息

2. Basic Queue 简单队列模型

步骤如下:

1.在父工程中引入 spring-amqp 的依赖

2.在 publisher 服务中利用 RabbitTemplate 发送消息到 test2024.simple.queue 这个队列

3.在 consumer 服务中编写消费逻辑,绑定 test2024.simple.queue 这个队列


2.1 父工程导入依赖

<!--AMQP依赖,包含RabbitMQ-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq

2.2 消息发送

2.2.1 消息发送方必要的配置

#  RabbitMQ
rabbitmq:
  host: **.105.**.**
  port: 5672
  username: ****
  password: ****
  virtual-host: /

SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq

2.2.2 发消息

@SpringBootTest
public class TestRabbitMQ {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Test
    public void test01() {
        //  声明队列名称
        String queueName = "test2024.simple.queue";
        String message = "";
        // 发送消息
        rabbitTemplate.convertAndSend(queueName, message);
    }
    
}

注意在执行发送消息前要确保 队列 先声明到. 所以我们可以先在配置类里声明出队列:

@Configuration
public class RabbitMQConf {
   //  声明一个 队列 test2024.simple.queue
   @Bean
   public Queue testSimpleQueue() {
       return new Queue("test2024.simple.queue");
   }
}

启动SpringBoot项目后,让该队列先注册进MQ.然后以后执行测试代码都不用再注册了.

当 该 队列注册进去后,我们执行测试发送消息代码, 执行成功后,看MQ页面:
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq

如此 就完成了 消息的发送.


3. 消息接收

3.1 消息接收方必要的配置

spring:
  rabbitmq:
    host: ip  # 主机名
    port: 5672 # 发送消息和接收消息的端口号
    virtual-host: / # 虚拟主机
    username: *** # 用户名
    password: *** # 密码

3.2 接收消息

@Component
@Component
public class SpringRabbitListener {

    //  监听制定队列,Spring只要接收到该队列的消息就会接收消息
    @RabbitListener(queues = "test2024.simple.queue")
    public void rabbitListener(String message){
        System.out.println("接收到消息:" + message);;
    }

}

启动消息接受服务. 控制台打印收到的消息:
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq

至此 . 我们用 RabbitMQ 来发送消息及接受消息就实现了.

MQ 页面

SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq
看到消息被消费了.


SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列),# RabbitMQ,java-rabbitmq,spring boot,rabbitmq文章来源地址https://www.toymoban.com/news/detail-849670.html


到了这里,关于SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RabbitMQ入门 消息队列快速入门 SpringAMQP WorkQueue 队列和交换机 Fanout Direct exchange RAbbitMQ单体部署

    微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。 1.

    2024年04月08日
    浏览(52)
  • RabbitMQ--03--SpringAMQP(SpringBoot集成RabbitMQ)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 SpringBoot 已经提供了对 AMQP 协议完全支持的 spring-boot-starter-amqp 依赖,引入此依赖即可快速方便的在 SpringBoot 中使用 RabbitMQ。 https://spring.io/projects/spring-amqp RabbitTemplate 是 SpringBoot AMQP 提供的快速发 Rabbit

    2024年03月21日
    浏览(32)
  • 消息队列-RabbitMQ:延迟队列、rabbitmq 插件方式实现延迟队列、整合SpringBoot

    1、延迟队列概念 延时队列内部是有序的 , 最重要的特性 就体现在它的 延时属性 上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说, 延时队列就是用来存放需要在指定时间被处理的元素的队列。 延迟队列使用场景: 订单在十分钟之内未支付则

    2024年02月22日
    浏览(43)
  • SpringCloud-基于SpringAMQP实现消息队列

    Spring AMQP作为Spring框架的一部分,是一套用于支持高级消息队列协议(AMQP)的工具。AMQP是一种强大的消息协议,旨在支持可靠的消息传递,特别适用于构建分布式系统。Spring AMQP构建在RabbitMQ之上,提供了在微服务架构中进行异步通信和消息传递的强大机制。 这个框架的设计

    2024年03月13日
    浏览(35)
  • Springboot集成rabbitmq——实现延迟队列

    目录 1.rabbitmq简介 2.延迟队列 3.Springboot集成rabbitmq 4.以死信队列形式实现 5.以插件形式实现  MQ(message queue),从字面意思上看,本质是个队列,遵从先入先出的规则,只不过队列中存放的内容是 message 而已,是一种跨进程的通信机制,用于上下游传递消息。RabbitMq是开发中常用

    2024年02月05日
    浏览(31)
  • SpringBoot RabbitMQ 实现消息队列功能

    作者:禅与计算机程序设计艺术 在企业级应用中,为了提升系统性能、降低响应延迟、改善用户体验、增加系统的稳定性、提高资源利用率等方面所需的功能之一就是使用消息队列。RabbitMQ是一个开源的AMQP(Advanced Message Queuing Protocol)的实现消息队列,它是用Erlang语言开发的。

    2024年02月09日
    浏览(37)
  • RabbitMQ 简单实现创建队列的三种方式

    //1. 手动创建,需在RabbitMQ中手动创建myQueue1 队列,否则报错 @RabbitListener(queues = “myQueue1”) public void process1(String message){ log.info(“MqReceiver1: {}”, message); } //2. 自动创建队列 @RabbitListener(queuesToDeclare = @Queue(“myQueue2”)) public void process2(String message){ log.info(“MqReceiver2: {}”, messa

    2024年02月15日
    浏览(30)
  • TP5简单使用RabbitMQ实现消息队列

    在使用 RabbitMQ 之前,你要安装好 RabbitMQ 服务,具体安装方法可以参考 windows下安装RabbitMQ 1、安装扩展 进入TP5 更目录下,输入命令安装: composer require php-amqplib/php-amqplib 2、自定义命令 TP5 的自定义命令,这里也简单说下。 第一步: 创建命令类文件,新建 application/api/command

    2024年02月07日
    浏览(39)
  • rabbitmq-常见七种消息队列-控制台界面管理-python-实现简单访问

    1.1.生产者和消费者 生产者(Producer) 消息的创建者。 负责创建和推送数据到消息服务器。 消费者(Consumer) 消息的接收方。 负责接收消息和处理数据。 1.2.消息队列(Queue) 消息队列是RabbitMQ的内部对象,用于存储生产者的消息直到发送给消费者,它是消费者接收消息的地方。 消息

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包