一、添加依赖
<!--rabbitmq-需要的 AMQP 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
二、配置队列、交换机以及路由
交换机--->路由--->队列
比如,你现在需要去北京,打开高德地图,导航,导航会提供很多路线,然后你选择其中一个路线,然后开车上路。
交换机就是北京,目的;路由就是很多路线;选择某条路,就是队列。
RabbitMQConfig
package com.juxin.gatewaysdk.controller.rabbitmq;
import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitMQConfig {
//fanout广播
private static final String QUEUE1 = "queue_fanout01";
private static final String QUEUE2 = "queue_fanout02";
private static final String EXCHANGE = "fanoutExchange";
//direct路由
private static final String QUEUE_DIRECT1 = "queue_direct01";
private static final String QUEUE_DIRECT2 = "queue_direct02";
private static final String EXCHANGE_DIRECT = "directExchange";
//路由
private static final String routing_key01 = "queue.red";
private static final String routing_key02 = "queue.green";
//topic
private static final String QUEUE_TOPIC1 = "queue_topic01";
private static final String QUEUE_TOPIC2 = "queue_topic02";
private static final String EXCHANGE_TOPIC = "topicExchange";
//路由
private static final String routing_topic_key01 = "#.queue.#";
private static final String routing_topic_key02 = "*.queue.#";
//--------fanout广播模式---------
/**
* 1. 配置队列
* 2. 队列名为 queue
* 3. true 表示: 持久化 (不填,默认为true,默认持久化)
* durable: 队列是否持久化。 队列默认是存放到内存中的,rabbitmq 重启则丢失,
* 若想重启之后还存在则队列要持久化,
* 保存到 Erlang 自带的 Mnesia