SpringBoot 消息队列RabbitMQ在代码中声明 交换机 与 队列使用注解创建

创建Fanout交换机

java 复制代码
@Configuration
public class FanoutConfig {
    @Bean
    public FanoutExchange fanoutExchange(){
        return  new FanoutExchange("csdn.fanout");
        //交换机名称
    }
}

创建队列

java 复制代码
  @Bean
    public Queue fanoutQueue3(){
        return  new Queue("csdn.queue");
    }

绑定队列

将创建的方法传入即可交换机与队列进行绑定。

java 复制代码
@Bean
public Binding fanoutBinding(Queue queue){
    return  BindingBuilder.bind(fanoutQueue()).to(fanoutExchange());
}

以上方法如果交换机和队列比较多会非常的不灵活


注解声明

可以通过注解在消费者当中进行声明

生产者

java 复制代码
private  final RabbitTemplate rabbitTemplate;
@GetMapping("/putRecord") //插入记录
public Result userMessage(){
    rabbitTemplate.convertAndSend("csdn.fanout","a","我是发送者");
    return  Result.success("操作成功",null);
}

消费者

java 复制代码
@Component
public class RecordQueues {


	//使用注解创建交换机和队列并且进行绑定
    @RabbitListener( 
            bindings = @QueueBinding(
            value = @Queue("csdn.queue"),
            exchange = @Exchange(name = "csdn.fanout",type = ExchangeTypes.DIRECT),
            key = {"a","b"}
    ))
    public void a(){
        System.out.println("csdn.queue");
    }


    }
java 复制代码
csdn.queue

ctrl+p 查看提示

相关推荐
秉承初心10 小时前
Java 23种设计模式的详细解析
java·设计模式
千码君201610 小时前
Go语言:记录一下Go语言系统学习的第一天
java·开发语言·学习·golang·gin·并发编程·编译语言
聪明的笨猪猪10 小时前
Java 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
MrSYJ10 小时前
学完涨工资的技巧2:Spring Authorization Server如何签发JWTToken
java·spring boot·微服务
珹洺11 小时前
Java-Spring入门指南(二十六)Android Studio下载与安装
java·spring·android studio
JAVA学习通11 小时前
JDK高版本特性总结与ZGC实践
java·jvm·算法
数智顾问11 小时前
破解 Shuffle 阻塞:Spark RDD 宽窄依赖在实时特征工程中的实战与未来
大数据·分布式·spark
cxyxiaokui00111 小时前
JDK 动态代理 vs CGLIB:原理、区别与 Spring AOP 底层揭秘
java·后端·spring
代码充电宝11 小时前
LeetCode 算法题【中等】189. 轮转数组
java·算法·leetcode·职场和发展·数组
我命由我1234511 小时前
PDFBox - PDDocument 与 byte 数组、PDF 加密
java·服务器·前端·后端·学习·java-ee·pdf