Spring Boot整合RabbitMQ
一、思路
一般在开发过程中:
生产者工程:
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
/**
* @Configuration可理解为用spring的时候xml里面的<beans>标签
*
* @Bean可理解为用spring的时候xml里面的<bean>标签
*/
@Configuration
public class RabbitMQConfig {
public static final String EXCHANGE_NAME = "boot_topic_exchange";
public static final String QUEUE_NAME = "boot_queue";
//1.交换机
@Bean("bootExchange")
public Exchange bootExchange(){
return ExchangeBuilder.topicExchange(EXCHANGE_NAME).durable(true).build();
}
//2.Queue 队列
@Bean("bootQueue")
public Queue bootQueue(){
return QueueBuilder.durable(QUEUE_NAME).build();
}
//3. 队列和交互机绑定关系 Binding
/*
1. 知道哪个队列
2. 知道哪个交换机
3. routing key
@Qualifier注解了,qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的
*/
@Bean
public Binding bindQueueExchange(@Qualifier("bootQueue") Queue queue, @Qualifier("bootExchange") Exchange exchange){
return BindingBuilder.bind(queue).to(exchange).with("boot.#").noargs();
}
}3.Consumer:
RabbimtMQListener:
//@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
@Component
public class RabbimtMQListener {
//@RabbitListener注解指定目标方法来作为消费消息的方法,通过注解参数指定所监听的队列或者Binding。
@RabbitListener(queues = "boot_queue")
public void ListenerQueue(Message message){
//System.out.println(message);
System.out.println(new String(message.getBody()));
}
} 相关推荐
shenzhenzsw 2020-10-09
shyoldboy 2020-09-27
ljcsdn 2020-07-27
waitzkj 2020-07-25
woaishanguosha 2020-07-18
shenzhenzsw 2020-06-21
OnMyHeart 2020-06-20
waitzkj 2020-06-20
OnMyHeart 2020-06-16
cj0 2020-06-07
Soongp 2020-06-07
cj0 2020-06-06
cj0 2020-06-01
OnMyHeart 2020-05-27
xx0cw 2020-05-16
liym 2020-05-16
zhuxue 2020-10-14