首先呢就需要我们在RabbitMQ的可视化端口创建一个虚拟机,我创建的为 xm
1.创建SpringBoot项目
到这里SpringBoot项目就创建成功了
2.创建测试类
@Test
public void testConnection() throws Exception {
//1.创建连接工厂
ConnectionFactory factory = new ConnectionFactory ();
//2.设置RabbitMQ的连接信息
factory.setHost("192.168.40.101");
factory.setPort(5672);
factory.setVirtualHost("/xm");
factory.setUsername("admin");
factory.setPassword("123");
//3.通过工厂对象获取RabbitMQ的连接对象
Connection connection = factory.newConnection();
System.err.println(connection);//amqp://admin@192.168.40.101:5672//xm
}
amqp://admin@192.168.40.101:5672//xm在控制台输入信息表示成功连接RabbitMQ
3.编写配置文件 在application.properties核心配置文件中进行配置
# 连接RabbitMQ服务器
spring.rabbitmq.host=192.168.40.101
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=123
spring.rabbitmq.virtual-host=/xm
4.在测试类中 创建交换机和消息队列并进行绑定
@Autowired
private AmqpAdmin amqpAdmin;
@Test
public void amqpAdmin(){
//1.定义fanout类型的交换器
amqpAdmin.declareExchange(new FanoutExchange("fanout_exchange"));
//2.定义两个默认持久化队列,分别处理email和sms
amqpAdmin.declareQueue(new Queue("fanout_queue_email"));
amqpAdmin.declareQueue(new Queue("fanout_queue_sms"));
//3.将队列分别与交换器进行绑定
/*
* Bind对象表示一个交换机和一个队列的绑定
* 参数1:表示队列的名称
* 参数2:表示绑定的对象是一个队列
* 参数3:表示改队列绑定在哪一个交换机上,需要指定交换机的名称
* 参数4:路由键,在发布订阅中没有路由键
* 参数5:其他的参数配置信息(Map集合的类型)
* */
amqpAdmin.declareBinding(new Binding("fanout_queue_email",Binding.DestinationType.QUEUE,"fanout_exchange","",null));
amqpAdmin.declareBinding(new Binding("fanout_queue_sms",Binding.DestinationType.QUEUE,"fanout_exchange","",null));
}
原来的交换机和消息队列
我们创建的交换机和消息队列
参考链接
发表评论