From dc7a481463392fef4dbb672df82eb700421af7d1 Mon Sep 17 00:00:00 2001 From: redkale Date: Sat, 3 Feb 2024 10:38:58 +0800 Subject: [PATCH] loadClassByFilters --- src/main/java/org/redkale/boot/Application.java | 2 +- src/main/java/org/redkale/boot/ClassFilter.java | 4 ++++ src/main/java/org/redkale/boot/PrepareCompiler.java | 10 +++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 0fba164ac..c582a246a 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -1316,7 +1316,7 @@ public final class Application { nodeLock.lock(); try { if (!inited.getAndSet(true)) { //加载自定义的协议,如:SOCKS - ClassFilter profilter = new ClassFilter(classLoader, NodeProtocol.class, NodeServer.class, (Class[]) null); + ClassFilter profilter = new ClassFilter(classLoader, NodeProtocol.class, NodeServer.class); loadClassByFilters(profilter); final Set> entrys = profilter.getFilterEntrys(); for (FilterEntry entry : entrys) { diff --git a/src/main/java/org/redkale/boot/ClassFilter.java b/src/main/java/org/redkale/boot/ClassFilter.java index 3a81c6857..93838e1fc 100644 --- a/src/main/java/org/redkale/boot/ClassFilter.java +++ b/src/main/java/org/redkale/boot/ClassFilter.java @@ -63,6 +63,10 @@ public final class ClassFilter { private final ClassLoader classLoader; + public ClassFilter(RedkaleClassLoader classLoader, Class annotationClass, Class superClass) { + this(classLoader, annotationClass, superClass, (Class[]) null, null); + } + public ClassFilter(RedkaleClassLoader classLoader, Class annotationClass, Class superClass, Class[] excludeSuperClasses) { this(classLoader, annotationClass, superClass, excludeSuperClasses, null); } diff --git a/src/main/java/org/redkale/boot/PrepareCompiler.java b/src/main/java/org/redkale/boot/PrepareCompiler.java index 170ed4593..83dec7c6e 100644 --- a/src/main/java/org/redkale/boot/PrepareCompiler.java +++ b/src/main/java/org/redkale/boot/PrepareCompiler.java @@ -36,11 +36,11 @@ public class PrepareCompiler { application.start(); final boolean hasSncp = application.getNodeServers().stream().filter(NodeSncpServer.class::isInstance).findFirst().isPresent(); - final ClassFilter entityFilter = new ClassFilter(application.getClassLoader(), Entity.class, Object.class, (Class[]) null); - final ClassFilter entityFilter2 = new ClassFilter(application.getClassLoader(), javax.persistence.Entity.class, Object.class, (Class[]) null); - final ClassFilter beanFilter = new ClassFilter(application.getClassLoader(), Bean.class, Object.class, (Class[]) null); - final ClassFilter beanFilter2 = new ClassFilter(application.getClassLoader(), org.redkale.util.Bean.class, Object.class, (Class[]) null); - final ClassFilter filterFilter = new ClassFilter(application.getClassLoader(), null, FilterBean.class, (Class[]) null); + final ClassFilter entityFilter = new ClassFilter(application.getClassLoader(), Entity.class, Object.class); + final ClassFilter entityFilter2 = new ClassFilter(application.getClassLoader(), javax.persistence.Entity.class, Object.class); + final ClassFilter beanFilter = new ClassFilter(application.getClassLoader(), Bean.class, Object.class); + final ClassFilter beanFilter2 = new ClassFilter(application.getClassLoader(), org.redkale.util.Bean.class, Object.class); + final ClassFilter filterFilter = new ClassFilter(application.getClassLoader(), null, FilterBean.class); application.loadClassByFilters(entityFilter, beanFilter, filterFilter);