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 查看提示

相关推荐
V+zmm1013424 分钟前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
李洋-蛟龙腾飞公司32 分钟前
HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移
分布式·华为·harmonyos
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
xmh-sxh-13141 小时前
常用的缓存技术都有哪些
java
迷糊的『迷』1 小时前
vue-axios+springboot实现文件流下载
vue.js·spring boot
AiFlutter1 小时前
Flutter-底部分享弹窗(showModalBottomSheet)
java·前端·flutter
J不A秃V头A2 小时前
IntelliJ IDEA中设置激活的profile
java·intellij-idea
DARLING Zero two♡2 小时前
【优选算法】Pointer-Slice:双指针的算法切片(下)
java·数据结构·c++·算法·leetcode
小池先生2 小时前
springboot启动不了 因一个spring-boot-starter-web底下的tomcat-embed-core依赖丢失
java·spring boot·后端
CodeClimb2 小时前
【华为OD-E卷-木板 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od