spring boot rabbitmq 提供了非常简单的使用方法
rabbitmq 消息发布方式
- 直连模式
发布的信息只能被指定的队列消费
- 主题模式
发布的信息可以被多个匹配主题的队列消费
3.广播模式
发布的消息能被所有队列消费
package com.neo.rabbit;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.ExchangeBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitVBaseCreateTest {
// 创建队列
@Bean
public Queue createMyQueue() {
return new Queue("myQueue_1");
}
// 创建交换机 广播模式
@Bean
public FanoutExchange createFanoutExchange() {
return new FanoutExchange("myFanoutExchange");
}
// 创建 主题模式的交换机
public TopicExchange createTopicExchange() {
return new TopicExchange("TopicExchange");
}
// 创建直连模式的交换机
public DirectExchange createDirectExchange() {
return new DirectExchange("DirectExchange");
}
// 创建 并 绑定路由
@Bean
public Binding binding0a(DirectExchange directExchange, Queue autoDeleteQueue0) {
return BindingBuilder.bind(autoDeleteQueue0).to(directExchange).with("myRoute");
}
// 队列绑定到指定的交换机上
@Bean
Binding bindingExchangeA() {
return BindingBuilder.bind(this.createMyQueue()).to(this.createFanoutExchange());
}
}