<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
2.yml
spring: application: name: spring-boot-rabbitmq-sender rabbitmq: host: 127.0.0.1 port: 5672 username: mm password: 123 virtual-host: /test
3.
AmqpAdmin 创建组件:如交换机,队列,绑定队则
RabbitTemplate:发送,接受消息
package com.aynu.bootamqp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class BootamqpApplicationTests { @Autowired RabbitTemplate rabbitTemplate; @Autowired AmqpAdmin amqpAdmin; @Test public void create(){ Exchange exchange = new DirectExchange("test22222",true,false); amqpAdmin.declareExchange(exchange); System.out.println("创建成功"); Queue queue = new Queue("999",true); amqpAdmin.declareQueue(queue); Binding binding = new Binding("999", Binding.DestinationType.QUEUE,"test22222","goods.add",null); amqpAdmin.declareBinding(binding); } @Test public void contextLoads(){ String msg ="hello msg"; rabbitTemplate.convertAndSend("test22222","goods.add",msg); } @Test public void receive(){ Object o = rabbitTemplate.receiveAndConvert("999"); System.out.println(o); } }
4. 开启队列监控
@Test @RabbitListener(queues = "999") public void receive1(){ System.out.println(); }
@EnableRabbit
@RunWith(SpringRunner.class)
@SpringBootTest
public class BootamqpApplicationTests {}