SpringBoot 使用Rabbitmq
1.Springboot默认MQ支持rabbitmq或者kafka
maven引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>
propertis添加配置
#
spring.rabbitmq.host=192.168.68.238
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/#rabbitmq 每次消费1条消息
spring.rabbitmq.listener.simple.prefetch=1
docker启动服务器
docker run -it -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4-management
打开网页控制台http://192.168.68.238:15672/#/queues 默认用户名密码都是guest
queue增加一个test
在Exchange: amq.fanout增加一个绑定test队列
写个测试类
@SpringBootTest
class Demo1ApplicationTests {@AutowiredAmqpTemplate rabbitTemplate;@Testvoid contextLoads() {for (int i = 0; i < Integer.MAX_VALUE; i++){// 给amq.fanout交换机发送测试消息rabbitTemplate.convertAndSend("amq.fanout","", "xiaoxi"+i);System.out.println("发送消息:xiaoxi"+i);}}//接收rabbitmq消息@Test@RabbitListener(queues = "test")public void receive(Message message){System.out.println("接收到消息:"+new String(message.getBody()));}
}
启动生产者
在网页控制台能看到大量的消息进入了队列
同时消费方法被回调
测试成功!