diff --git a/src/main/java/org/dromara/akali/proxy/AkaliByteBuddyProxy.java b/src/main/java/org/dromara/akali/proxy/AkaliByteBuddyProxy.java index e6c5f01..9d054d6 100644 --- a/src/main/java/org/dromara/akali/proxy/AkaliByteBuddyProxy.java +++ b/src/main/java/org/dromara/akali/proxy/AkaliByteBuddyProxy.java @@ -54,15 +54,6 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl if (AkaliMethodManager.contain(methodStr)){ AkaliStrategyEnum akaliStrategyEnum = AkaliMethodManager.getAnnoInfo(methodStr).r1; - Annotation anno = AkaliMethodManager.getAnnoInfo(methodStr).r2; - - if (anno instanceof AkaliFallback){ - AkaliRuleManager.registerFallbackRule((AkaliFallback) anno, method); - }else if (anno instanceof AkaliHot){ - AkaliRuleManager.registerHotRule((AkaliHot) anno, method); - }else{ - throw new RuntimeException("annotation type error"); - } return SphEngine.process(bean, method, args, methodStr, akaliStrategyEnum); }else { diff --git a/src/main/java/org/dromara/akali/spring/AkaliScanner.java b/src/main/java/org/dromara/akali/spring/AkaliScanner.java index 2d5b857..c1aef21 100644 --- a/src/main/java/org/dromara/akali/spring/AkaliScanner.java +++ b/src/main/java/org/dromara/akali/spring/AkaliScanner.java @@ -9,6 +9,7 @@ import org.dromara.akali.annotation.AkaliHot; import org.dromara.akali.enums.AkaliStrategyEnum; import org.dromara.akali.manager.AkaliMethodManager; +import org.dromara.akali.manager.AkaliRuleManager; import org.dromara.akali.manager.AkaliStrategyManager; import org.dromara.akali.proxy.AkaliByteBuddyProxy; import org.dromara.akali.strategy.AkaliStrategy; @@ -36,12 +37,14 @@ public Object postProcessAfterInitialization(Object bean, String beanName) throw Arrays.stream(clazz.getMethods()).forEach(method -> { AkaliFallback akaliFallback = searchAnnotation(method, AkaliFallback.class); if (ObjectUtil.isNotNull(akaliFallback)){ + AkaliRuleManager.registerFallbackRule(akaliFallback, method); AkaliMethodManager.addMethodStr(MethodUtil.resolveMethodName(method), new Tuple2<>(AkaliStrategyEnum.FALLBACK, akaliFallback)); needProxy.set(true); } AkaliHot akaliHot = searchAnnotation(method, AkaliHot.class); if (ObjectUtil.isNotNull(akaliHot)){ + AkaliRuleManager.registerHotRule(akaliHot, method); AkaliMethodManager.addMethodStr(MethodUtil.resolveMethodName(method), new Tuple2<>(AkaliStrategyEnum.HOT_METHOD, akaliHot)); needProxy.set(true); }