SpringBoot 集成 RabbitMQ
1、添加依赖
<!--rabbitmq-需要的 AMQP 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2、application.yml 配置
参考: https://blog.csdn.net/begefefsef/article/details/123790849
#rabbitmq 配置
rabbitmq:
host: 192.168.255.128
username: guest
password: guest
#虚拟主机
virtual-host: /
#端口
port: 5672
listener:
simple:
#消费者最小数量
concurrency: 10
#消费者最大数量
max-concurrency: 10
#限制消费者,每次只能处理一条消息,处理完才能继续下一条消息
prefetch: 1
#启动时是否默认启动容器,默认为 true
auto-startup: true
#被拒绝时重新进入队列的
default-requeue-rejected: true
template:
retry:
#启用消息重试机制,默认为 false
enabled: true
#初始重试间隔时间
initial-interval: 1000ms
#重试最大次数,默认为 3 次
max-attempts: 3
#重试最大时间间隔,默认 10000ms
max-interval: 10000ms
#重试的间隔乘数
multiplier: 1
3、编写配置类
@Configuration
public class RabbitMQConfig {
private static final String QUEUE = "queue";
@Bean
public Queue queue() {
return new Queue(QUEUE, true);
}
}
4、编写消息发送者和消息接收者
@Service
@Slf4j
public class RabbitMQSender {
@Resource
private RabbitTemplate rabbitTemplate;
public void send(Object msg) {
log.info("发送消息-" + msg);
rabbitTemplate.convertAndSend("queue", msg);
}
}
@Service
@Slf4j
public class RabbitMQReceiver {
//监听
@RabbitListener(queues = "queue")
public void receive(Object msg) {
log.info("接收到消息--" + msg);
}
}
5、编写应用类
@Controller
public class RabbitMQHandler {
@Resource
private RabbitMQSender mqSender;
@RequestMapping("/mq")
@ResponseBody
public void mq() {
mqSender.send("hello");
}
}

浙公网安备 33010602011771号