pom.xml
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-amqp
2.5.6
org.springframework.amqp
spring-rabbit-test
test
yml
spring:
application:
name: rabbitmq-springboot
rabbitmq:
host:
port:
username:
password:
## 主机
virtual-host:
## 使用rabbitTemplate来简化操作
发送
package com.zxqtest;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest(classes = LearnApplication.class)
@RunWith(SpringRunner.class)
class LearnApplicationTests {
// 注入rabbitTemplate
private RabbitTemplate rabbitTemplate;
// hellow
@Test
public void test() {
// 转换发送
// 没有消费者不会创建对列
rabbitTemplate.convertAndSend("hello","hello word");
}
}
消费者
package com.zxqtest.rabbit.hello;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
// 指定监听的对列 默认持久化 非独占 不是自动删除
@RabbitListener(queuesToDeclare = @Queue("hello"))
// @RabbitListener(queuesToDeclare = @Queue(value = "hello",durable = "false"))
public class Coumser {
// 声明回调方法
@RabbitHandler
public void receive(String message){
System.out.println("message="+message);
}
}