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

相关推荐
在未来等你几秒前
Elasticsearch面试精讲 Day 12:数据建模与字段类型选择
大数据·分布式·elasticsearch·搜索引擎·面试
xiaogg367824 分钟前
springboot rabbitmq 延时队列消息确认收货订单已完成
spring boot·rabbitmq·java-rabbitmq
麦兜*26 分钟前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
a5876930 分钟前
消息队列(MQ)初级入门:详解RabbitMQ与Kafka
java·分布式·microsoft·面试·kafka·rabbitmq
依稀i12336 分钟前
Spring Boot + MySQL 创建超级管理员
spring boot·mysql
千里码aicood41 分钟前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
Chan161 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
先做个垃圾出来………1 小时前
差分数组(Difference Array)
java·数据结构·算法
库库林_沙琪马1 小时前
REST接口幂等设计深度解析
spring boot·后端
BillKu1 小时前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee