码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot整合RabbitMQ

时间:2020-05-04 19:33:25      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:文件配置   display   public   col   创建   stat   div   guest   consumer   

 


一、思路

一般在开发过程中
生产者工程:
1. application.yml文件配置RabbitMQ相关信息;
2. 在生产者工程中编写配置类,用于创建交换机和队列,并进行绑定
3. 注入RabbitTemplate对象,通过RabbitTemplate对象发送消息到交换机
消费者工程:
1. application.yml文件配置RabbitMQ相关信息
2. 创建消息处理类,用于接收队列中的消息并进行处理

二、步骤

1.配置RabbitMQ
1)配置文件
创建application.yml,内容如下:

spring:
  rabbitmq:
    host: 172.16.98.133 #主机ip
    port: 5672 #端口
    username: guest
    password: guest
    virtual-host: /

2.Producer

RabbitMQConfig

技术图片
 1 /**
 2  * @Configuration可理解为用spring的时候xml里面的<beans>标签
 3  *
 4  * @Bean可理解为用spring的时候xml里面的<bean>标签
 5  */
 6 @Configuration
 7 public class RabbitMQConfig {
 8 
 9     public static final String EXCHANGE_NAME = "boot_topic_exchange";
10     public static final String QUEUE_NAME = "boot_queue";
11 
12     //1.交换机
13     @Bean("bootExchange")
14     public Exchange bootExchange(){
15         return ExchangeBuilder.topicExchange(EXCHANGE_NAME).durable(true).build();
16     }
17 
18     //2.Queue 队列
19     @Bean("bootQueue")
20     public Queue bootQueue(){
21         return QueueBuilder.durable(QUEUE_NAME).build();
22     }
23 
24     //3. 队列和交互机绑定关系 Binding
25     /*
26         1. 知道哪个队列
27         2. 知道哪个交换机
28         3. routing key
29         @Qualifier注解了,qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的
30      */
31     @Bean
32     public Binding bindQueueExchange(@Qualifier("bootQueue") Queue queue, @Qualifier("bootExchange") Exchange exchange){
33         return BindingBuilder.bind(queue).to(exchange).with("boot.#").noargs();
34     }
35 }
View Code

3.Consumer:

RabbimtMQListener:
 1 //@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
 2 @Component
 3 public class RabbimtMQListener {
 4 
 5     //@RabbitListener注解指定目标方法来作为消费消息的方法,通过注解参数指定所监听的队列或者Binding。
 6     @RabbitListener(queues = "boot_queue")
 7     public void ListenerQueue(Message message){
 8         //System.out.println(message);
 9         System.out.println(new String(message.getBody()));
10     }
11 }

 

Spring Boot整合RabbitMQ

标签:文件配置   display   public   col   创建   stat   div   guest   consumer   

原文地址:https://www.cnblogs.com/aaaazzzz/p/12827589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!