创建Fanout交换机
@Configuration
public class FanoutConfig {@Beanpublic FanoutExchange fanoutExchange(){return new FanoutExchange("csdn.fanout");//交换机名称}
}
创建队列
@Beanpublic Queue fanoutQueue3(){return new Queue("csdn.queue");}
绑定队列
将创建的方法传入即可交换机与队列进行绑定。
@Bean
public Binding fanoutBinding(Queue queue){return BindingBuilder.bind(fanoutQueue()).to(fanoutExchange());
}
以上方法如果交换机和队列比较多会非常的不灵活
注解声明
可以通过注解在消费者当中进行声明
生产者
private final RabbitTemplate rabbitTemplate;
@GetMapping("/putRecord") //插入记录
public Result userMessage(){rabbitTemplate.convertAndSend("csdn.fanout","a","我是发送者");return Result.success("操作成功",null);
}
消费者
@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");}}
csdn.queue
ctrl+p 查看提示