先介绍最简单的使用方式,后面还会更新其他使用方法。
简单案例
目录结构
引入依赖:
<!--AMQP依赖,包含RabbitMQ-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
生产者
publisher配置中添加:
spring:
rabbitmq:
host: ip # 主机名
port: 5672 # 端口
virtual-host: / # 虚拟主机
username: guest # 用户名
password: guest # 密码
编写测试类:
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringAmqpTest {
@Autowired
private RabbitTemplate rabbitTemplate;
@Test
public void testSimpleQueue() {
// 队列名称
String queueName = "simple.queue";
// 消息
String message = "hello mq!";
// 发送消息
rabbitTemplate.convertAndSend(queueName, message);
}
}
mq管理页面中创建一下simple.queue的队列,然后执行代码。
可以看到成功发送消息到消息队列中。
消费者
consumer中同样yaml中配置mq(与生产者同)。
然后编写消费监听类:
@Component
public class SpringRabbitListener {
@RabbitListener(queues = "simple.queue")
public void listenSimpleQueueMessage(String msg) throws InterruptedException {
System.out.println("spring 消费者接收到消息:" + msg);
}
}
启动:
就可以消费mq中的消息了。