RabbitMQ系列4 Spring整合RabbitMQ
Spring整合RabbitMQ
创建两个工程

添加依赖
消费者和生产者的依赖都一样
org.springframework.amqp
spring-rabbit
2.1.8.RELEASE
junit
junit
4.13
org.springframework
spring-test
5.0.5.RELEASE
org.apache.maven.plugins
maven-compiler-plugin
3.8.0
1.8
1.8
配置整合
1.rabbitMQ连接参数配置文件
rabbitmq.properties
rabbitmq.host=192.168.12.135
rabbitmq.port=5672
rabbitmq.username=heima
rabbitmq.password=heima
rabbitmq.virtual-host=/itcast
2.Spring整合rabbitMQ配置文件
生产者端
spring-rabbitmq.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
消费者端
<?xml version="1.0" encoding="UTF-8"?>
消费者端编写MessageListener接口的实现类
package com.itheima.rabbitmq.listener;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;
public class SpringQueueListener implements MessageListener {
@Override
public void onMessage(Message message) {
System.out.println(new String(message.getBody()));
}
}
生产者者端发送消息
使用Autowired自动注入rabbitTemplate,然后使用convertAndSend方法发送消息
@Autowired
private RabbitTemplate rabbitTemplate;
@Test
public void test1(){
rabbitTemplate.convertAndSend("spring_queue","Hello word!!");
}
3.配置项讲解
rabbit:queue/
id:bean的名称
name:queue的名称
auto-declare:自动创建
auto-delete:自动删除。 最后一个消费者和该队列断开连接后,自动删除队列
exclusive:是否独占
durable:是否持久化
示例
**
id:bean的名称
connection-factory:工厂bea的名称
示例
rabbit:fanout-exchange/
id:bean的名称
name:交换机的名称
auto-declare:自动删除。 最后一个队列和该交换机断开连接后,自动删除交换机
交换机绑定队列
示例
**