文章目录
一.概念
RabbitMQ是一个开源的实现AMQP的产品,SpringBoot为了实现RabbitMQ客户端的功能,提供了名字为spring-boot-starter-amqp的starter,开发者在pom或gradle文件中添加这个starter的依赖即可。
二.如何实现接受功能
为实现接受消息的功能,需要向springboot框架注册处理消息的方法,框架为此提供了两种利用java代码注册的方式
1.编程式注册处理消息。注册一个bean,实现RabbitListenerConfigurer接口
@Configuration
public class RabbitListenerConfig {
return new RabbitListenerConfigurer() {
@Override
public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) {
SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint();
endpoint.setQueueNames("myQueue1", "myQueue2");
endpoint.setConcurrency("2");
endpoint.setMessageListener(message -> {
System.out.println("收到消息"+new String(message.getBody()));
});
registrar.registerEndpoint(endpoint);
}
}
}
2. 注册式处理消息的方法。使用@RabbitListener注解,在注册参数中设置需要监听的队列名字
@Component
public class MyRabbitReceiver {
@RabbitListener(queues = {"myQueue1", "myQueue2"}, concurrency = "2")
public void processMessage(Message message) {