From 3ce8be8a27ad74251b3a7714100d2de04e187712 Mon Sep 17 00:00:00 2001 From: wxm <115806199+youfanx@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:10:37 +0800 Subject: [PATCH] up --- rxlib/src/main/java/org/rx/spring/Interceptors.java | 2 +- rxlib/src/main/java/org/rx/spring/MxController.java | 2 +- rxlib/src/main/java/org/rx/spring/SpringContext.java | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/rxlib/src/main/java/org/rx/spring/Interceptors.java b/rxlib/src/main/java/org/rx/spring/Interceptors.java index e3e6e3f8..44ec395a 100644 --- a/rxlib/src/main/java/org/rx/spring/Interceptors.java +++ b/rxlib/src/main/java/org/rx/spring/Interceptors.java @@ -92,7 +92,7 @@ public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { } if (Strings.equals(httpEnv.left.getParameter("rmx"), Constants.ENABLE_FLAG)) { - MxController controller = SpringContext.getBean(MxController.class); + MxController controller = SpringContext.getBean(MxController.class, false); if (controller != null) { return controller.health(httpEnv.left); } diff --git a/rxlib/src/main/java/org/rx/spring/MxController.java b/rxlib/src/main/java/org/rx/spring/MxController.java index ef3cb399..c2de49cc 100644 --- a/rxlib/src/main/java/org/rx/spring/MxController.java +++ b/rxlib/src/main/java/org/rx/spring/MxController.java @@ -93,7 +93,7 @@ public Object health(HttpServletRequest request) { Object source = null, target; if (!Strings.isBlank(type)) { Class clazz = Class.forName(type); - target = SpringContext.getBean(clazz); + target = SpringContext.getBean(clazz, false); if (target == null) { return null; } diff --git a/rxlib/src/main/java/org/rx/spring/SpringContext.java b/rxlib/src/main/java/org/rx/spring/SpringContext.java index 3824c042..4acd755a 100644 --- a/rxlib/src/main/java/org/rx/spring/SpringContext.java +++ b/rxlib/src/main/java/org/rx/spring/SpringContext.java @@ -3,6 +3,7 @@ import lombok.Setter; import org.rx.core.Linq; import org.rx.core.Strings; +import org.rx.exception.InvalidException; import org.rx.util.function.TripleFunc; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; @@ -37,8 +38,15 @@ public static T getBean(String name) { } public static T getBean(Class clazz) { + return getBean(clazz, true); + } + + public static T getBean(Class clazz, boolean throwOnEmpty) { Map beanMaps = getApplicationContext().getBeansOfType(clazz); - return !beanMaps.isEmpty() ? beanMaps.values().iterator().next() : null; + if (throwOnEmpty && beanMaps.isEmpty()) { + throw new InvalidException("Bean {} not registered", clazz); + } + return beanMaps.values().iterator().next(); } public static String[] fromYamlArray(String yamlArray) {