diff --git a/src/main/java/org/redkale/boot/NodeHttpServer.java b/src/main/java/org/redkale/boot/NodeHttpServer.java index 16a2a731e..e9a75cfba 100644 --- a/src/main/java/org/redkale/boot/NodeHttpServer.java +++ b/src/main/java/org/redkale/boot/NodeHttpServer.java @@ -190,15 +190,18 @@ public class NodeHttpServer extends NodeServer { protected void loadHttpFilter(final ClassFilter classFilter) throws Exception { final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; List> list = new ArrayList(classFilter.getFilterEntrys()); - for (FilterEntry en : list) { - Class clazz = (Class) en.getType(); + for (FilterEntry entry : list) { + Class clazz = (Class) entry.getType(); if (Modifier.isAbstract(clazz.getModifiers())) { continue; } + if (entry.isExpect()) { //跳过不自动加载的Filter + continue; + } RedkaleClassLoader.putReflectionDeclaredConstructors(clazz, clazz.getName()); final HttpFilter filter = clazz.getDeclaredConstructor().newInstance(); resourceFactory.inject(filter, this); - DefaultAnyValue filterConf = (DefaultAnyValue) en.getProperty(); + DefaultAnyValue filterConf = (DefaultAnyValue) entry.getProperty(); this.httpServer.addHttpFilter(filter, filterConf); if (sb != null) { sb.append("Load ").append(clazz.getName()).append(LINE_SEPARATOR); @@ -238,14 +241,17 @@ public class NodeHttpServer extends NodeServer { }); final long starts = System.currentTimeMillis(); final List> ss = sb == null ? null : new ArrayList<>(); - for (FilterEntry en : list) { - Class clazz = (Class) en.getType(); + for (FilterEntry entry : list) { + Class clazz = (Class) entry.getType(); if (Modifier.isAbstract(clazz.getModifiers())) { continue; } if (clazz.getAnnotation(Rest.RestDyn.class) != null) { continue; //动态生成的跳过 } + if (entry.isExpect()) { //跳过不自动加载的Servlet + continue; + } WebServlet ws = clazz.getAnnotation(WebServlet.class); if (ws == null) { continue; @@ -259,7 +265,7 @@ public class NodeHttpServer extends NodeServer { resourceFactory.inject(servlet, this); final String[] mappings = ws.value(); String pref = ws.repair() ? prefix : ""; - DefaultAnyValue servletConf = (DefaultAnyValue) en.getProperty(); + DefaultAnyValue servletConf = (DefaultAnyValue) entry.getProperty(); this.httpServer.addHttpServlet(servlet, pref, servletConf, mappings); if (ss != null) { for (int i = 0; i < mappings.length; i++) { diff --git a/src/main/java/org/redkale/boot/NodeSncpServer.java b/src/main/java/org/redkale/boot/NodeSncpServer.java index c0d4a20d9..d85c4f715 100644 --- a/src/main/java/org/redkale/boot/NodeSncpServer.java +++ b/src/main/java/org/redkale/boot/NodeSncpServer.java @@ -112,15 +112,18 @@ public class NodeSncpServer extends NodeServer { protected void loadSncpFilter(final AnyValue servletsConf, final ClassFilter classFilter) throws Exception { final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; List> list = new ArrayList(classFilter.getFilterEntrys()); - for (FilterEntry en : list) { - Class clazz = (Class) en.getType(); + for (FilterEntry entry : list) { + Class clazz = (Class) entry.getType(); if (Utility.isAbstractOrInterface(clazz)) { continue; } + if (entry.isExpect()) { //跳过不自动加载的Filter + continue; + } RedkaleClassLoader.putReflectionDeclaredConstructors(clazz, clazz.getName()); final SncpFilter filter = clazz.getDeclaredConstructor().newInstance(); resourceFactory.inject(filter, this); - DefaultAnyValue filterConf = (DefaultAnyValue) en.getProperty(); + DefaultAnyValue filterConf = (DefaultAnyValue) entry.getProperty(); this.sncpServer.addSncpFilter(filter, filterConf); if (sb != null) { sb.append("Load ").append(clazz.getName()).append(LINE_SEPARATOR); diff --git a/src/main/java/org/redkale/source/CacheSource.java b/src/main/java/org/redkale/source/CacheSource.java index 54bff6eb5..af6d151e7 100644 --- a/src/main/java/org/redkale/source/CacheSource.java +++ b/src/main/java/org/redkale/source/CacheSource.java @@ -16,7 +16,7 @@ import org.redkale.util.Resourcable; /** * Redkale中缓存数据源的核心类。 主要供业务开发者使用, 技术开发者提供CacheSource的实现。
- * CacheSource提供三种数据类型操作: String、Long、byte[]和泛型指定的数据类型。
+ * CacheSource提供三种数据类型操作: String、Long和泛型指定的数据类型。
* String统一用setString、getString等系列方法。
* Long统一用setLong、getLong、incr等系列方法。
* 其他则供自定义数据类型使用。