首先呢就需要我们在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.在测试类中 创建交换机和消息队列并进行绑定
@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)); }
原来的交换机和消息队列
我们创建的交换机和消息队列