SpringBoot之RabbitMQ的AmqpAdmin开发使用

背景:

      前期我们的队列和交换机是直接在RabbitMQ管理平台上自己进行创建和绑定的,详情见之前的博客:

基于MQ平台实现RabbitMQ的3种传输类型的测试

下面我们将具体进行相关的开发测试说明:

首先了解一下整体开发Mq的开发流程。

/**
 * 自动配置
 * 1. RabbitAutoConfiguration
 * 2. 自动配置了连接工厂
 * 3. RabbitProperties封装RabbitMQ的配置
 * 4. RabbitTemplate用于MQ的发送和接收消息
 * 5. @EnableRabbit + @RabbitListener 结合实现监听消息队列的内容
 * 6. AmqpAdmin:RabbitMQ系统管理功能
 * AmqpAdmin:创建和删除Queue, Exchange, Binding
 * 参数介绍:
 * 1、name: 队列的名称;
 * 2、actualName: 队列的真实名称,默认用name参数,如果name为空,则根据规则生成一个;
 * 3、durable: 是否持久化;
 * 4、exclusive: 是否独享、排外的;
 * 5、autoDelete: 是否自动删除;
 * 7. 目前存在一个问题那就是将数据存在Mq中的数据为String的时候是可以正常的进行获取,同时也可以再Mq中正常的显示,不过如果是对象就需要进行,
 * 可以先进行序列化,存放后可以正常的进行显示数据,不过后端获取数据后没有办法进行对应的监听反序列化为对象,需要自己进行配置,或者将对象先进行转Json
 * 字符串,然后进行获取的时候进行先Json转对象操作。
 */

本博客重点讲解 AmqpAdmin:创建和删除Queue, Exchange, Binding的使用

1. 创建交换机Exchange

    @Autowired
    AmqpAdmin amqpAdmin;

    //<editor-fold desc="1. 创建交换机">
    @Test
    public void createExchange() {
        //下面是创建DirectExchange
        amqpAdmin.declareExchange(new DirectExchange("lhd"));
        System.out.println("交换机创建完成!");
    }

2.  创建消息队列Queue

    @Autowired
    AmqpAdmin amqpAdmin;   
 //<editor-fold desc="2. 创建消息队列">
    @Test
    public void createQueue() {
        //下面是创建DirectExchange
        amqpAdmin.declareQueue(new Queue("lhd.lhd",true));
        System.out.println("消息队列创建完成!");
    }
    //</editor-fold>

3. 绑定Binding:

    @Autowired
    AmqpAdmin amqpAdmin;  
  //<editor-fold desc="3. 绑定消息队列队列">
    @Test
    public void bindQueue() {
        //下面是创建DirectExchange
        amqpAdmin.declareBinding(new Binding("lhd.lhd", Binding.DestinationType.QUEUE,"lhd","lhd.hello",null));
        System.out.println("绑定消息队列创建完成!");
    }
    //</editor-fold>
    @Test

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值