springboot
文章平均质量分 85
Cyufeng
这个作者很懒,什么都没留下…
展开
-
一张长图透彻理解SpringBoot 启动原理,架构师必备知识,不为应付面试!
下图代码说明了,Spring在初始化全部 单例Bean以后,会执行 SmartInitializingSingleton 接口。SpringBoot 会在Spring完全启动完成后,才开启Http流量。这给了我们启示:应该在Spring启动完成后开启入口流量。Rpc和 MQ流量 也应该如此,所以建议大家在 SmartLifecype 或者 ContextRefreshedEvent 等位置 注册服务,开启流量。原创 2024-06-22 17:47:14 · 970 阅读 · 0 评论 -
Spring Event 别瞎用!从我司的悲剧中,我总结了6 条最佳实践
今天我们重点聊聊使用 Spring Event 最为关键的几个问题。这是我司线上生产环境实际踩坑后,总结的极为宝贵的经验!Spring Event框架实现了基于事件的发布订阅机制。开发者可以自定义事件,在某些业务场景发布事件,Spring 会将该事件广播给监听该事件的监听者。监听者可以实现Spring 的监听者接口 ApplicationListener注册自己,也可以使用 EventListener注解注册自己。原创 2024-01-05 17:13:51 · 952 阅读 · 0 评论 -
如何在SpringBoot中优雅地重试调用第三方API?
Spring Retry是Spring框架提供的一个模块,它通过提供注解或编程方式的方式,帮助我们实现方法级别的重试机制。在Spring Boot中,可以很方便地集成并使用Spring Retry。在Spring Boot项目中,通过集成Spring Retry模块,我们可以优雅地实现对第三方API调用的重试机制。通过@Retryable注解,我们能够很方便地在方法级别上添加重试策略。同时,异步方法和异常类型的支持使得我们能够更灵活地应对不同的业务场景。原创 2024-01-05 14:40:50 · 1149 阅读 · 0 评论 -
SpringBoot 中实现订单30分钟自动取消的策略
在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。本文将详细介绍基于Spring Boot框架实现订单30分钟内未支付自动取消的几种方案,并提供实例代码。方案一:定时任务利用Spring Boot中的@Scheduled注解,我们可以轻松地实现定时任务。该任务将周期性地扫描数据库,检查未支付的订单,如果订单生成30分钟未支付,则自动取消。方案二:延迟队列。原创 2024-01-05 14:23:22 · 1058 阅读 · 0 评论