首先呢就需要我们在RabbitMQ的可视化端口创建一个虚拟机,我创建的为 xm
1.创建SpringBoot项目
到这里SpringBoot项目就创建成功了
2.创建测试类
@Testpublic 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.在测试类中 创建交换机和消息队列并进行绑定
@Autowiredprivate AmqpAdmin amqpAdmin; @Testpublic void amqpAdmin(){//1.定义fanout类型的交换器amqpAdmin.declareExchange(new FanoutExchange("fanout_exchange"));//2.定义两个默认持久化队列,分别处理email和smsamqpAdmin.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));}
原来的交换机和消息队列
我们创建的交换机和消息队列