diff --git a/event/src/main/java/com/zfoo/event/schema/EventRegisterProcessor.java b/event/src/main/java/com/zfoo/event/schema/EventRegisterProcessor.java index 5b888482..eed24b8b 100644 --- a/event/src/main/java/com/zfoo/event/schema/EventRegisterProcessor.java +++ b/event/src/main/java/com/zfoo/event/schema/EventRegisterProcessor.java @@ -43,15 +43,11 @@ public class EventRegisterProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { var clazz = bean.getClass(); - var methods = ReflectionUtils.getMethodsByAnnoInPOJOClass(clazz, EventReceiver.class); + var methods = ReflectionUtils.getMethodsByAnnotation(clazz, EventReceiver.class); if (ArrayUtils.isEmpty(methods)) { return bean; } - if (!ReflectionUtils.isPojoClass(clazz)) { - logger.warn("事件注册类[{}]不是POJO类,父类的事件接收不会被扫描到", clazz); - } - try { for (var method : methods) { var paramClazzs = method.getParameterTypes(); diff --git a/net/src/main/java/com/zfoo/net/router/route/PacketBus.java b/net/src/main/java/com/zfoo/net/router/route/PacketBus.java index 8452dc91..eee142b4 100644 --- a/net/src/main/java/com/zfoo/net/router/route/PacketBus.java +++ b/net/src/main/java/com/zfoo/net/router/route/PacketBus.java @@ -63,15 +63,11 @@ public abstract class PacketBus { public static void registerPacketReceiverDefinition(Object bean) { var clazz = bean.getClass(); - var methods = ReflectionUtils.getMethodsByAnnoInPOJOClass(clazz, PacketReceiver.class); + var methods = ReflectionUtils.getMethodsByAnnotation(clazz, PacketReceiver.class); if (ArrayUtils.isEmpty(methods)) { return; } - if (!ReflectionUtils.isPojoClass(clazz)) { - logger.warn("The message registration class [{}] is not a POJO class, and the parent class will not be scanned", clazz); - } - for (var method : methods) { var paramClazzs = method.getParameterTypes(); diff --git a/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java b/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java index 7a89a689..2291ec99 100644 --- a/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java +++ b/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java @@ -421,7 +421,7 @@ public class OrmManager implements IOrmManager { ReflectionUtils.makeAccessible(idField); ReflectionUtils.setField(idField, entityInstance, idFiledValue); - var idMethodOptional = Arrays.stream(ReflectionUtils.getMethodsByNameInPOJOClass(clazz, "id")) + var idMethodOptional = Arrays.stream(ReflectionUtils.getAllMethods(clazz)).filter(it -> it.getName().equalsIgnoreCase("id")) .filter(it -> it.getParameterCount() <= 0) .findFirst(); AssertionUtils.isTrue(idMethodOptional.isPresent(), "实体类Entity[{}]必须重写id()方法", clazz.getSimpleName()); diff --git a/protocol/src/main/java/com/zfoo/protocol/util/ReflectionUtils.java b/protocol/src/main/java/com/zfoo/protocol/util/ReflectionUtils.java index 57f02130..f1e0680f 100644 --- a/protocol/src/main/java/com/zfoo/protocol/util/ReflectionUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/util/ReflectionUtils.java @@ -164,9 +164,9 @@ public abstract class ReflectionUtils { * @param annotation 指定注解的Class * @return 数组,可能长度为0 */ - public static Method[] getMethodsByAnnoInPOJOClass(Class clazz, Class annotation) { + public static Method[] getMethodsByAnnotation(Class clazz, Class annotation) { var list = new ArrayList(); - var methods = clazz.getDeclaredMethods(); + var methods = getAllMethods(clazz); for (var method : methods) { if (method.isAnnotationPresent(annotation)) { list.add(method); @@ -175,16 +175,6 @@ public abstract class ReflectionUtils { return ArrayUtils.listToArray(list, Method.class); } - public static Method[] getMethodsByNameInPOJOClass(Class clazz, String methodName) { - var list = new ArrayList(); - var methods = clazz.getDeclaredMethods(); - for (var method : methods) { - if (method.getName().equalsIgnoreCase(methodName)) { - list.add(method); - } - } - return ArrayUtils.listToArray(list, Method.class); - } /** * Attempt to get all Methods on the supplied class. diff --git a/scheduler/src/main/java/com/zfoo/scheduler/SchedulerContext.java b/scheduler/src/main/java/com/zfoo/scheduler/SchedulerContext.java index f1a08f2a..9ed087b4 100644 --- a/scheduler/src/main/java/com/zfoo/scheduler/SchedulerContext.java +++ b/scheduler/src/main/java/com/zfoo/scheduler/SchedulerContext.java @@ -101,16 +101,12 @@ public class SchedulerContext implements ApplicationListener