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");
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库