diff --git a/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/main/java/com/alipay/sofa/boot/ark/invoke/DynamicJvmServiceProxyFinder.java b/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/main/java/com/alipay/sofa/boot/ark/invoke/DynamicJvmServiceProxyFinder.java index 15cff0e61..917c17960 100644 --- a/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/main/java/com/alipay/sofa/boot/ark/invoke/DynamicJvmServiceProxyFinder.java +++ b/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/main/java/com/alipay/sofa/boot/ark/invoke/DynamicJvmServiceProxyFinder.java @@ -251,13 +251,8 @@ public static Biz getBiz(SofaRuntimeManager sofaRuntimeManager) { if (getInstance().bizManagerService == null) { return null; } - - for (Biz biz : getInstance().bizManagerService.getBizInOrder()) { - if (biz.getBizClassLoader().equals(sofaRuntimeManager.getAppClassLoader())) { - return biz; - } - } - return null; + return getInstance().bizManagerService.getBizByClassLoader(sofaRuntimeManager + .getAppClassLoader()); } public boolean isHasFinishStartup() { diff --git a/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/test/java/com/alipay/sofa/boot/ark/MockBizManagerService.java b/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/test/java/com/alipay/sofa/boot/ark/MockBizManagerService.java index b9594d204..a481a9c1f 100644 --- a/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/test/java/com/alipay/sofa/boot/ark/MockBizManagerService.java +++ b/sofa-boot-project/sofa-boot-core/ark-sofa-boot/src/test/java/com/alipay/sofa/boot/ark/MockBizManagerService.java @@ -65,6 +65,11 @@ public Biz getBizByIdentity(String s) { @Override public Biz getBizByClassLoader(ClassLoader classLoader) { + for (Biz biz : bizList) { + if (biz.getBizClassLoader().equals(classLoader)) { + return biz; + } + } return null; }