入门案例发送消息给队列 SpringAMQP

SpringAMQP

AMQP

即Advanced Message Queuing Protocol,是一个提供统一消息服务的应用层标准高级消息队列协议。它作为应用层协议的一个开放标准,专为面向消息的中间件设计。基于AMQP协议的客户端与消息中间件可以传递消息,且这种传递不受客户端/中间件不同产品、不同开发语言等条件的限制。

  • 异步处理:允许消息发送者与接收者通过队列进行异步处理,发送者将消息发送到队列,接收者可以在方便的时候从队列中取出消息进行处理,实现异步通信。
  • 消息路由:支持多种消息路由方式,如点对点、发布/订阅、内容分发网络等,可根据不同需求选择路由方式。
  • 安全传输:通过SSL/TLS等安全协议保证消息在传输过程中的安全性。
  • 可靠性保证:在消息传输过程中,即使发生网络故障或服务器故障,AMQP协议也能保证消息不会丢失或重复发送。
  • 高效率:采用高效的二进制编码协议,有效减少消息的传输大小,提高传输效率。
  • 中立性:作为一个中立的规范,不受特定语言或平台的影响,可以支持多种编程语言和平台。
SpringAMQP

SpringAMQP是基于AMQP协议的消息队列框架,它是Spring框架提供的一个用于简化Spring应用程序对消息队列使用的工具。它减少了对AMQP协议的细节处理,提供了一个高级别的抽象,使得生产者和消费者可以用简单的方式与消息队列进行通信。

SpringAMQP定义了一套API规范,可以说是AMQP的一种实现,它提供了模板来发送和接收消息。在SpringAMQP中,可以配置和使用各种消息队列服务,如RabbitMQ等,实现消息的发布、订阅、路由等功能。

通过使用SpringAMQP,开发者可以更专注于业务逻辑的实现,而无需过多关注底层消息队列的实现细节,从而提高开发效率和应用的可靠性。
因为Rabbit的APi配置十分的繁琐,SpringAMQP为我们提供了很多API可以直接声明队列,交换机

consumer为接收消息模块
publicsher为发送模块

入门案例发送消息给队列 SpringAMQP
  • 引入AMQP依赖
  • 配置yaml
  • 编写java代码
  <!--AMQP依赖,包含RabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
配置文件
spring:
rabbitmq:
  host: 192.168.88.135 # 服务器地址
  port: 5672  # 发送和接收的连接端口
  username: itcast # 配置RabbitMQ数据卷的用户名
  password: 123321 # 配置的密码
  virtual-host: / # 虚拟目录
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestQueue {
   @Autowired
   // 引入模板
   private RabbitTemplate rabbitTemplate;

   @Test
   public void testSend2SmileQueue(){
       String queueName = "simple.queue"; // 队列名
       String message = "Hello,world and SpringAMQP!!!"; // 发送的消息
       rabbitTemplate.convertAndSend(queueName,message);
   }
}
接收消息
  • 引入依赖
  • 配置rabbit地址
  • 编写java代码
    前面两步与发送步骤一样,直接拷贝到对应模块即可
    java中编写只需要指定监听哪个队列即可
    在这里插入图片描述
@Component
public class TestConfigQueue {
    // 指定队列
    @RabbitListener(queues = "simple.queue")
    public void getMessage(String msg){
        System.out.println("监听到的消息:--->"+msg);
    }
}

编写好直接启动类 即可 开始监听在这里插入图片描述
在这里插入图片描述

相关推荐

  1. SpringAMPQ(高级消息队列协议)消息发送与接收

    2024-04-04 11:44:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 11:44:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 11:44:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 11:44:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 11:44:01       20 阅读

热门阅读

  1. 课时84:流程控制_select条件控制_案例实践

    2024-04-04 11:44:01       13 阅读
  2. 2404d,d语言1月会议

    2024-04-04 11:44:01       14 阅读
  3. 【云原生篇】K8S之StatefulSet 详解

    2024-04-04 11:44:01       18 阅读
  4. Python如何下载视频

    2024-04-04 11:44:01       18 阅读
  5. 全志A40i android7.1 移植wifi驱动的一般流程

    2024-04-04 11:44:01       13 阅读
  6. 【Python】Pillow支持的图像文件格式

    2024-04-04 11:44:01       12 阅读
  7. microPython的源码解析之 lexer.c

    2024-04-04 11:44:01       12 阅读
  8. cmake 怎么给CMAKE_TOOLCHAIN_FILE赋值

    2024-04-04 11:44:01       13 阅读