RabbitMQ生产者producer, consumer实现

1. docker安装RabbitMQ

下载地址: Downloading and Installing RabbitMQ

docker run -it --rm --name rabbitmq2 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin  -p 5672:5672 -p 15672:15672 rabbitmq:3-management

5672是Rabbitmq 默认TCP监听端口

15672是RabbitMQ 的 Web 管理界面端口

下面浏览器访问:
在这里插入图片描述

2. RabbitMQConfig配置文件

2.1 RabbitMQConfig

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RabbitMQConfig {

    /**
     * direct交换机名称
     */
    public static final String DIRECT_EXCHANGE="directExchange";

    /**
     * direct队列名称
     */
    public static final String DIRECT_QUEUE="directQueue";

    /**
     * direct路由Key
     */
    public static final String DIRECT_ROUTINGKEY="directRoutingKey";

    /**
     * 定义一个direct交换机
     * @return
     */
    @Bean
    public DirectExchange directExchange(){
        return new DirectExchange(DIRECT_EXCHANGE);
    }

    /**
     * 定义一个direct队列
     * @return
     */
    @Bean
    public Queue directQueue(){
        return new Queue(DIRECT_QUEUE);
    }

    /**
     * 定义一个队列和交换机的绑定
     * @return
     */
    @Bean
    public Binding directBinding(){
        return BindingBuilder.bind(directQueue()).to(directExchange()).with(DIRECT_ROUTINGKEY);
    }

}

2.1 new Queue重载参数解析

在这里插入图片描述
在这里插入图片描述

  • durable:是否持久化,true 交换机或者队列会存到本地文件数据库,当mq重启,依然在,false的话,重启或者断电,就没了;默认true

  • autoDelete:是否自动删除,true当没有Consumer消费者时候,自动删除掉;默认false

  • exclusive:是否独占:true的话只有一个消费者监听这个队列。默认false

3. 生产者consumer

3.1 引入依赖

在这里插入图片描述

3.2 配置文件

在这里插入图片描述

3.3 发送消息

在这里插入图片描述

4. 创建消费者consumer

4.1 引入依赖(同上)

4.2 配置(同上)

除了端口不同

4.3 消费

在这里插入图片描述

在这里插入图片描述

源码地址: https://gitee.com/never_enough/rabbitmqtest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值