From aa8c10bed20f9608dc9a69cee2d09b4b993b82ef Mon Sep 17 00:00:00 2001 From: Hungerdream Date: Wed, 15 Jul 2026 17:33:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20RedisCenter=20?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E4=BE=9D=E8=B5=96=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=A4=B1=E8=B4=A5=EF=BC=88BeanCurrentlyInCre?= =?UTF-8?q?ationException=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RedisCenterImpl 含 @Async 方法,导致与 MachineCenterImpl / AppScrollRestartServiceImpl 的循环依赖无法用 Spring 早期引用机制消解。 在两个类的 RedisCenter 字段注入处加 @Lazy,注入懒加载代理占位符打破循环。 关联 sohutv/cachecloud#387 --- .../java/com/sohu/cache/machine/impl/MachineCenterImpl.java | 2 ++ .../cache/web/service/impl/AppScrollRestartServiceImpl.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/cachecloud-web/src/main/java/com/sohu/cache/machine/impl/MachineCenterImpl.java b/cachecloud-web/src/main/java/com/sohu/cache/machine/impl/MachineCenterImpl.java index d9757fb3..642566fa 100644 --- a/cachecloud-web/src/main/java/com/sohu/cache/machine/impl/MachineCenterImpl.java +++ b/cachecloud-web/src/main/java/com/sohu/cache/machine/impl/MachineCenterImpl.java @@ -57,6 +57,7 @@ import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkArgument; +import org.springframework.context.annotation.Lazy; /** * 机器接口的实现 @@ -76,6 +77,7 @@ public class MachineCenterImpl implements MachineCenter { @Autowired private MachineDao machineDao; @Autowired + @Lazy private RedisCenter redisCenter; @Autowired private AppDao appDao; diff --git a/cachecloud-web/src/main/java/com/sohu/cache/web/service/impl/AppScrollRestartServiceImpl.java b/cachecloud-web/src/main/java/com/sohu/cache/web/service/impl/AppScrollRestartServiceImpl.java index 63c574b1..62b838b3 100644 --- a/cachecloud-web/src/main/java/com/sohu/cache/web/service/impl/AppScrollRestartServiceImpl.java +++ b/cachecloud-web/src/main/java/com/sohu/cache/web/service/impl/AppScrollRestartServiceImpl.java @@ -52,6 +52,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.IntStream; +import org.springframework.context.annotation.Lazy; /** * @Author: zengyizhao @@ -69,6 +70,7 @@ public class AppScrollRestartServiceImpl implements AppScrollRestartService { private InstanceConfigDao instanceConfigDao; @Autowired + @Lazy private RedisCenter redisCenter; @Autowired