1、导入所需要的坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2、 配置交换机队列工具类
@Configuration
public class RabbitConfig {
public static final String EXCHANGE_NAME = "boot_exchange";
public static final String QUEUE_NAME = "boot_queue";
@Bean("bootExchange")
public Exchange booeExchange(){
return ExchangeBuilder.topicExchange(EXCHANGE_NAME).durable(true).build();
}
@Bean("bootQueue")
public Queue bootQueue(){
return QueueBuilder.durable(QUEUE_NAME).build();
}
@Bean
public Binding bingQueueExchange(@Qualifier("bootQueue") Queue queue,@Qualifier("bootExchange") Exchange exchange){
// 绑定队列和交换机,with 那种路由模式进行匹配
return BindingBuilder.bind(queue).to(exchange).with("#.#").noargs();
}
}
3、发型消息
@Autowired
private RabbitTemplate rabbitTemplate;
/**
* 测试发送消息
* 发送只需要往交换机中进行发送,并制定路由的符号。
* 交换机会自动的根据交换机类型,和路由key 发送到绑定的队列中
*/
@Test
public void sendMessage(){
rabbitTemplate.convertAndSend(RabbitConfig.EXCHANGE_NAME,"q.q","springboot的第一条消
息");
}
4、 接受消
/**
* 消费者只需要监听需要监听的队列就可以
* @param message
*/
@RabbitListener(queues = "boot_queue")
public void listerQueue(Message message){
System.out.println(message);
System.out.println(new String(message.getBody()));
}
息