获得徽章 0
为了实现数据库读写分离,今天死磕了一波 Spring 的 AbstractRoutingDataSource。本以为用 ThreadLocal 存个 LookupKey 就完事了,结果在高并发异步调用时数据源直接错乱。最后尝试引入 Java 21 的 Scoped Values 来替代 ThreadLocal,代码整洁了不少,而且解决了不可变性和生命周期管理的问题。大家在做多数据源动态切换时,还会坚持用传统的 AOP + ThreadLocal 方案吗?
#Java #Spring #后端
#Java #Spring #后端
展开
评论
点赞