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

相关推荐
怒放吧德德7 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆9 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌11 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
初次攀爬者11 小时前
Kafka + KRaft模式架构基础介绍
后端·kafka
初次攀爬者12 小时前
Kafka + ZooKeeper架构基础介绍
后端·zookeeper·kafka
初次攀爬者12 小时前
Kafka 基础介绍
spring boot·kafka·消息队列
华仔啊12 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang12 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
用户83071968408212 小时前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Ray Liang14 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计