• 基于Java的交换机与队列创建


    一、基于Java的交换机与队列创建

    我们使用消息队列,消息队列和交换机可以通过管理系统完成创建,也可以在应用程序中通过Java代码来完成创建

    1.1 普通Maven项目交换机及队列创建

    • 使用Java代码新建队列

      //1.定义队列 (使用Java代码在MQ中新建一个队列)
      //参数1:定义的队列名称
      //参数2:队列中的数据是否持久化(如果选择了持久化)
      //参数3: 是否排外(当前队列是否为当前连接私有)
      //参数4:自动删除(当此队列的连接数为0时,此队列会销毁(无论队列中是否还有数据))
      //参数5:设置当前队列的参数
      channel.queueDeclare("queue7",false,false,false,null);
      
    • 新建交换机

      //定义一个“订阅交换机”
      channel.exchangeDeclare("ex3", BuiltinExchangeType.FANOUT);
      //定义一个“路由交换机”
      channel.exchangeDeclare("ex4", BuiltinExchangeType.DIRECT);
      
    • 绑定队列到交换机

      //绑定队列
      //参数1:队列名称
      //参数2:目标交换机
      //参数3:如果绑定订阅交换机参数为"",如果绑定路由交换机则表示设置队列的key
      channel.queueBind("queue7","ex4","k1");
      channel.queueBind("queue8","ex4","k2");
      

    1.2 SpringBoot应用中通过配置完成队列的创建

    @Configuration
    public class RabbitMQConfiguration {
    
        //声明队列
        @Bean
        public Queue queue9(){
            Queue queue9 = new Queue("queue9");
            //设置队列属性
            return queue9;
        }
        @Bean
        public Queue queue10(){
            Queue queue10 = new Queue("queue10");
            //设置队列属性
            return queue10;
        }
    
        //声明订阅模式交换机
        @Bean
        public FanoutExchange ex5(){
            return new FanoutExchange("ex5");
        }
    
        //声明路由模式交换机
        @Bean
        public DirectExchange ex6(){
            return new DirectExchange("ex6");
        }
    
        //绑定队列
        @Bean
        public Binding bindingQueue9(Queue queue9, DirectExchange ex6){
            return BindingBuilder.bind(queue9).to(ex6).with("k1");
        }
        @Bean
        public Binding bindingQueue10(Queue queue10, DirectExchange ex6){
            return BindingBuilder.bind(queue10).to(ex6).with("k2");
        }
    }
    
    

  • 相关阅读:
    RAID介绍,RAID5,10制作与损坏恢复
    ELK 安装过程
    centos 系统 yum安装软件报错
    linux系统磁盘分区
    python实现遍历两个文件夹,比对文件异常,生成比对报告功能
    win10新装系统,显卡风扇转动,链接正常开机,但设备管理器如果显示,无法更新驱动
    navicat premium 破解,无限试用方法
    安装vmware workstations 12 +ubuntu 遇到的一些问题
    win10 如何打开telnet,ftp等服务
    linux集群架构-keepalived高可用
  • 原文地址:https://www.cnblogs.com/coderD/p/14263360.html
Copyright © 2020-2023  润新知