暂无搜索历史
同一个调度框架内同时提供了基于 Redis 原生命令的锁服务和基于 Redisson 的锁服务。本文从功能特性、使用复杂度、可靠性角度对比两者的差异,并给出选型...
为了方便运维和快速配置,框架支持通过 application.yml 定义定时任务。YamlTaskRepository 将配置解析为 YamlTask 对象,...
为了便于监控、审计或联动其他系统,框架定义了 ChangeStatusEvent 事件和 ChangeStatusEventConsumer 接口,使外部可以订...
在单机应用开发中,为了避免并发操作导致的数据不一致或资源竞争,本地锁是最常用的同步手段之一。Java 提供了 synchronized 和 ReentrantL...
在高并发场景下,缓存(如 Redis)除了承担数据加速的职责,还经常被用来实现分布式协调原语,其中最典型的就是分布式锁。本文剖析一套轻量级、可扩展的 Redis...
在集群部署中,同一个定时任务可能在多台机器上同时触发,造成资源浪费或数据错误。本文基于提供的 AutoRenewalLockTaskRunner 和 Fixed...
在分布式系统中,锁机制是解决并发冲突、保证数据一致性的基础组件。Redisson 作为 Redis 的 Java 客户端,提供了丰富的分布式锁实现,尤其是可重入...
调度框架不仅要“按时执行”,还需支持执行次数限制、失败重试上限、初始延迟、截止日期等高级特性。本文分析 RunnableDecorator 如何同时实现 Run...
传统的 @Scheduled 注解适合静态任务,但难以满足动态增删改、运行时修改配置等需求。本文介绍一种基于 SchedulingConfigurer 和 Sc...
在Spring框架驱动的应用开发中,动态表达式求值是一个常见需求,例如权限注解(@PreAuthorize)、缓存注解(@Cacheable)、日志模板等场景,...
在Spring Boot应用中,传统的静态工厂类虽然简单直接,但往往难以与依赖注入容器无缝协作。本文以CaptchaServiceFactory为例,探讨如何将...
在多租户系统中,不同租户的数据必须严格隔离。Redis 作为一种高性能缓存/存储中间件,通常被多个租户共享。一个经典且高效的隔离方案是为每个租户的 Key 自动...
在实际业务开发中,枚举类型常用于表示状态、类型等固定集合。为了提升代码可维护性和数据库存储的便利性,通常会将枚举与自定义编码(code)关联,并存储到数据库。然...
在互联网应用中,用户签到、日活(DAU)、周活(WAU)等统计是常见的运营需求。传统的关系型数据库面对海量用户的高频写入和聚合查询时,往往面临性能瓶颈。Redi...
在 Java 后端开发中,线程池的创建、配置和优雅关闭是一个常见但容易出错的环节。本文介绍一个轻量级的封装工具 —— ExecutorServiceHolder...
在多租户SaaS系统中,不同租户的数据必须严格隔离。当多个租户共享同一套Redis缓存时,如何保证缓存Key不会冲突?本文以一个轻量级框架的实现为例,分析其利用...
在多租户(SaaS)系统中,不同租户的数据必须严格隔离,而 Redis 作为高性能缓存/存储中间件,其 Key 的命名空间管理是隔离的关键。Spring Dat...
在现代 Web 应用开发中,请求参数的校验与 API 文档的自动生成是不可或缺的两大环节。Spring Boot 结合 Jakarta Validation(原...
在实际项目开发中,我们经常需要对用户输入的日期、时间或日期时间字符串进行格式校验。虽然 Jakarta Bean Validation(即 JSR 380)提供...
在用户激励体系中,签到功能几乎是每个互联网产品的标配。签到数据通常需要记录用户每天的签到状态、连续签到天数、月度签到日历,同时还要支持日活(DAU)和月活(MA...
暂未填写公司和职称
暂未填写技能专长
暂未填写学校和专业
暂未填写所在城市