声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

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

基本消息队列的消息发送流程:

  • 建立connection
  • 创建channel
  • 利用channel声明队列
  • 利用channel向队列发送消息

基本消息队列的消息接收流程:

  • 建立connection
  • 创建channel
  • 利用channel声明队列(生产者与消费者都需要声明队列,是防止队列不存在,重复声明不会影响)
  • 定义consumer的消费行为handleDelivery()
  • 利用channel将消费者与队列绑定(回调机制,绑定函数但要收到消息才执行)

1、引入SpringAMQP依赖

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

2、配置SpringAMQP

spring:
  rabbitmq:
    host: 170.106.116.159
    port: 5672
    username: badianboke
    password: 123321
    verify-hostname: /

3、编写类使用SpringAMQP

package cn.badianboke.mq.spring;

package cn.itcast.mq.listener;


import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class SpringRabbitListener {

    @RabbitListener(queues = "simple.queue")
    public void listenSimpleQueue(String message){
        System.out.println("Received Message: " + message);
    }

}

可以看到