iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >RabbitMQ---Spring AMQP
  • 512
分享到

RabbitMQ---Spring AMQP

java-rabbitmqrabbitmqspring中间件后端 2023-08-30 11:08:09 512人浏览 八月长安
摘要

spring AMQP 1. 简介 Spring有很多不同的项目,其中就有对AMQP的支持: Spring AMQP的页面:Http://spring.io/projects/spring-amqp 注意这里一段描述: Spring-a

spring AMQP

1. 简介

Spring有很多不同的项目,其中就有对AMQP的支持:
在这里插入图片描述

Spring AMQP的页面:Http://spring.io/projects/spring-amqp
在这里插入图片描述

注意这里一段描述:
Spring-amqp是对AMQP协议的抽象实现,而spring-rabbit 是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ

2. 依赖和配置

添加AMQP的启动器:

<dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-amqp</artifactId></dependency>

在application.yml中添加RabbitMQ地址:

spring:  rabbitmq:    host: 192.168.137.137    username: zhangsan    passWord: 123456    virtual-host: /shopping    port: 5672

3. 监听者

在SpringAmqp中,对消息的消费者进行了封装和抽象,一个普通的JavaBean中的普通方法,只要通过简单的注解,就可以成为一个消费者。

@Componentpublic class Listener {   @RabbitListener(bindings = @QueueBinding(           value = @Queue(value = "spring.test.queue", durable = "true"),           exchange = @Exchange(                   value = "spring.test.exchange",                   ignoreDeclarationExceptions = "true",                   type = ExchangeTypes.TOPIC           ),           key = {"#.#"}))   public void listen(String msg){       System.out.println("接收到消息:" + msg);   }}

• @Componet:类上的注解,注册到Spring容器
• @RabbitListener:方法上的注解,声明这个方法是一个消费者方法,需要指定下面的属性:
o bindings:指定绑定关系,可以有多个。值是@QueueBinding的数组。@QueueBinding包含下面属性:
o value:这个消费者关联的队列。值是@Queue,代表一个队列
o exchange:队列所绑定的交换机,值是@Exchange类型
o key:队列和交换机绑定的RoutingKey
类似listen这样的方法在一个类中可以写多个,就代表多个消费者。

4. AmqpTemplate

Spring最擅长的事情就是封装,把他人的框架进行封装和整合。
Spring为AMQP提供了统一的消息处理模板:AmqpTemplate,非常方便的发送消息,其发送方法:
在这里插入图片描述

红框圈起来的是比较常用的3个方法,分别是:
o 指定消息
o 指定RoutingKey和消息,会向默认的交换机发送消息
o 指定交换机、RoutingKey和消息体

5. 测试代码

@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class)public class MqDemo {   @Autowired   private AmqpTemplate amqpTemplate;   @Test   public void testSend() throws InterruptedException {       String msg = "hello, Spring Boot amqp";       this.amqpTemplate.convertAndSend("spring.test.exchange","a.b", msg);       // 等待10秒后再结束       Thread.sleep(10000);   }}

运行后查看日志
在这里插入图片描述

来源地址:https://blog.csdn.net/qq_39311377/article/details/132393312

--结束END--

本文标题: RabbitMQ---Spring AMQP

本文链接: https://www.lsjlt.com/news/382521.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • RabbitMQ---Spring AMQP
    Spring AMQP 1. 简介 Spring有很多不同的项目,其中就有对AMQP的支持: Spring AMQP的页面:http://spring.io/projects/spring-amqp 注意这里一段描述: Spring-a...
    99+
    2023-08-30
    java-rabbitmq rabbitmq spring 中间件 后端
  • linux 安装 php-amqp rabbitmq-c
    这里需要安装rabbitmq-c和amqp扩展 rabbitmq-c : https://github.com/alanxz/rabbitmq-c/tree/v0.11.0 amqp :  PECL :: Package :: amq...
    99+
    2023-08-31
    java-rabbitmq rabbitmq java
  • AMQP是什么
    这篇文章主要介绍“AMQP是什么”,在日常操作中,相信很多人在AMQP是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”AMQP是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!历史:Message ...
    99+
    2023-07-02
  • 详解spring boot集成RabbitMQ
    RabbitMQ作为AMQP的代表性产品,在项目中大量使用。结合现在主流的spring boot,极大简化了开发过程中所涉及到的消息通信问题。首先正确的安装RabbitMQ及运行正常。RabbitMQ需啊erlang环境,所以首先安装对应版...
    99+
    2023-05-31
    spring boot bit
  • 详解Spring Boot 配置多个RabbitMQ
    闲话好久没有写博客了,6月份毕业,因为工作原因,公司上网受限,一直没能把学到的知识点写下来,工作了半年,其实学到的东西也不少,但是现在回忆起来的东西少之又少,有时甚至能在同个问题中踩了几次,越来越觉得及时记录一下学到的东西很重要。好了,闲话...
    99+
    2023-05-31
    spring boot rabbitmq
  • 怎么安装php扩展-amqp
    这篇文章主要介绍了怎么安装php扩展-amqp,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hy...
    99+
    2023-06-14
  • Spring boot 整合RabbitMQ实现通过RabbitMQ进行项目的连接
    目录什么是RabbitMQ消息队列:接受并转发消息,类似于快递公司消息队列的优点消息队列的特性RabbitMQ特点RabbitMQ核心概念Producer :消息生产者Message...
    99+
    2022-11-13
    Spring boot 整合RabbitMQ Spring boot 连接RabbitMQ
  • Spring整合消息队列RabbitMQ流程
    目录搭建生产者工程创建工程添加依赖配置整合发送消息搭建消费者工程创建工程添加依赖配置整合消息监听器搭建生产者工程 创建工程 添加依赖 修改pom.xml文件内容为如下: <...
    99+
    2023-03-20
    Spring RabbitMQ Spring整合消息队列 Spring整合RabbitMQ
  • spring boot如何实现对RabbitMQ整合
    本篇文章为大家展示了spring boot如何实现对RabbitMQ整合,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.Fanout Exchange介绍Fanout Exchange 消息广播的...
    99+
    2023-05-31
    springboot rabbitmq bit
  • spring boot集成rabbitmq的示例分析
    这篇文章主要为大家展示了“spring boot集成rabbitmq的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring boot集成rabbitmq的示例分析”这篇文章吧。一、...
    99+
    2023-05-30
    springboot rabbitmq
  • Golang 中的 JSON RPC 与 AMQP
    编程网今天将给大家带来《Golang 中的 JSON RPC 与 AMQP》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也...
    99+
    2024-04-04
  • 宝塔PHP安装amqp扩展
    宝塔PHP安装amqp扩展 这篇文章是搬得别人的,因为在我应用的时候完全参考原文章,复制般的操作下来就成功了,实在是幸运,觉得很有用就抄写一遍,以备以后用,如果作者看到了,我在这里表示对您的感谢!如果...
    99+
    2023-09-07
    php rabbitmq 开发语言
  • Spring Boot + RabbitMQ如何实现分布式事务
    小编给大家分享一下Spring Boot + RabbitMQ如何实现分布式事务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一:分布式事务解决方案1.两阶段提交(2PC)第一阶段:事务协调器要求每个涉及到事务的数据库预提...
    99+
    2023-06-03
  • 使用Spring Boot实现对RabbitMQ整合的方法
    本篇文章给大家分享的是有关使用Spring Boot实现对RabbitMQ整合的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.Topic交换器介绍Topic Excha...
    99+
    2023-05-31
    springboot rabbitmq
  • Spring Boot集成RabbitMQ以及队列模式操作
    目录前言一、场景描述二、准备工作三、发布/订阅模式(Fanout) 生产者 消费者四、Work模式4.1 轮询模式 生产者 消费者4.2 公平分发 生产者 消费者 生产者 消费者五、...
    99+
    2024-04-02
  • Spring+Redis+RabbitMQ开发限流和秒杀项目功能
    目录一、项目概述二、基于Redis的Lua脚本分析Lua脚本的特性在Redis中引入Lua脚本Lua脚本的返回值和参数分支语句三、实现限流和秒杀功能创建项目并编写配置文件编写启动类和...
    99+
    2024-04-02
  • SkyWalking 自定义插件(Spring RabbitMQ)具体分析过程
    SkyWalking 自定义插件(Spring RabbitMQ) 官方 RabbitMQ插件问题 skywalking官方提供的RabbitMQ插件存在缺陷,其只针对RabbitM...
    99+
    2024-04-02
  • 使用spring boot如何实现对RabbitMQ进行整合
    使用spring boot如何实现对RabbitMQ进行整合?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springboot集成RabbitMQ非常简单,如果...
    99+
    2023-05-31
    springboot rabbitmq
  • RabbitMQ
    RabbitMQ概述:RabbitMQ是使用最广泛的开源消息代理。RabbitMQ轻量级,易于在集群内部和云平台中部署。它支持多种消息传递协议。 它可以满足企业高规模,高可用性的要求。RabbitMQ使用Erlang语言开发的。MQ概...
    99+
    2023-01-30
    RabbitMQ
  • 异常排查记录amqp协议链接陷阱
    目录前言问题背景异常信息原因分析异常一分析:异常二分析:解决问题 前言 amqp是一种通用的消息队列数据传输协议,典型的MQ应用RabbitMQ就实现了amqp协议,所以,我们在使用...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作