diff --git a/src/main/java/org/redkale/boot/ApiDocCommand.java b/src/main/java/org/redkale/boot/ApiDocCommand.java index c530e9692..d841685dd 100644 --- a/src/main/java/org/redkale/boot/ApiDocCommand.java +++ b/src/main/java/org/redkale/boot/ApiDocCommand.java @@ -91,7 +91,7 @@ public final class ApiDocCommand { if (plainContentType == null || plainContentType.isEmpty()) plainContentType = "application/json"; if (plainContentType.indexOf(';') > 0) plainContentType = plainContentType.substring(0, plainContentType.indexOf(';')); - for (HttpServlet servlet : server.getPrepareServlet().getServlets()) { + for (HttpServlet servlet : server.getDispatcherServlet().getServlets()) { if (!(servlet instanceof HttpServlet)) continue; if (servlet instanceof WebSocketServlet) continue; if (servlet.getClass().getAnnotation(MessageMultiConsumer.class) != null) { diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 0ef5bef7f..5ee6e718f 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -1456,7 +1456,7 @@ public final class Application { if (!singletonMode && !compileMode) { server.start(); } else if (compileMode) { - server.getServer().getPrepareServlet().init(server.getServer().getContext(), serconf); + server.getServer().getDispatcherServlet().init(server.getServer().getContext(), serconf); } servers.add(server); timecd.countDown(); diff --git a/src/main/java/org/redkale/boot/NodeHttpServer.java b/src/main/java/org/redkale/boot/NodeHttpServer.java index 0e2462a1d..61b1b1497 100644 --- a/src/main/java/org/redkale/boot/NodeHttpServer.java +++ b/src/main/java/org/redkale/boot/NodeHttpServer.java @@ -165,7 +165,7 @@ public class NodeHttpServer extends NodeServer { @SuppressWarnings("unchecked") protected void loadHttpServlet(final ClassFilter servletFilter, ClassFilter webSocketFilter) throws Exception { RedkaleClassLoader.putReflectionPublicClasses(HttpServlet.class.getName()); - RedkaleClassLoader.putReflectionPublicClasses(HttpPrepareServlet.class.getName()); + RedkaleClassLoader.putReflectionPublicClasses(HttpDispatcherServlet.class.getName()); RedkaleClassLoader.putReflectionDeclaredConstructors(HttpResourceServlet.class, HttpResourceServlet.class.getName()); final AnyValue servletsConf = this.serverConf.getAnyValue("servlets"); final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; diff --git a/src/main/java/org/redkale/mq/HttpMessageLocalClient.java b/src/main/java/org/redkale/mq/HttpMessageLocalClient.java index 76b51fa30..e8bfed62a 100644 --- a/src/main/java/org/redkale/mq/HttpMessageLocalClient.java +++ b/src/main/java/org/redkale/mq/HttpMessageLocalClient.java @@ -69,16 +69,16 @@ public class HttpMessageLocalClient extends HttpMessageClient { return httpServer().getContext(); } - protected HttpPrepareServlet prepareServlet() { - return (HttpPrepareServlet) httpServer().getPrepareServlet(); + protected HttpDispatcherServlet dispatcherServlet() { + return (HttpDispatcherServlet) httpServer().getDispatcherServlet(); } protected HttpServlet findHttpServlet(String topic) { - return prepareServlet().findServletByTopic(topic); + return dispatcherServlet().findServletByTopic(topic); } protected HttpServlet findHttpServlet(HttpSimpleRequest request) { - return prepareServlet().findServletByTopic(generateHttpReqTopic(request, request.getPath())); + return dispatcherServlet().findServletByTopic(generateHttpReqTopic(request, request.getPath())); } @Override @@ -141,7 +141,7 @@ public class HttpMessageLocalClient extends HttpMessageClient { @Override public void produceMessage(String topic, Serializable userid, String groupid, HttpSimpleRequest request, AtomicLong counter) { - HttpPrepareServlet ps = prepareServlet(); + HttpDispatcherServlet ps = dispatcherServlet(); HttpServlet servlet = ps.findServletByTopic(topic); if (servlet == null) { if (fine) logger.log(Level.FINE, "produceMessage: request=" + request + ", not found servlet"); @@ -159,7 +159,7 @@ public class HttpMessageLocalClient extends HttpMessageClient { @Override public void broadcastMessage(String topic, Serializable userid, String groupid, HttpSimpleRequest request, AtomicLong counter) { - HttpPrepareServlet ps = prepareServlet(); + HttpDispatcherServlet ps = dispatcherServlet(); HttpRequest req = new HttpMessageLocalRequest(context(), request, userid); HttpResponse resp = new HttpMessageLocalResponse(req, null); Traces.createTraceid(); diff --git a/src/main/java/org/redkale/net/Context.java b/src/main/java/org/redkale/net/Context.java index ee2d705e1..9c7f5bd41 100644 --- a/src/main/java/org/redkale/net/Context.java +++ b/src/main/java/org/redkale/net/Context.java @@ -42,7 +42,7 @@ public class Context { protected final int bufferCapacity; //服务的根Servlet - protected final PrepareServlet prepare; + protected final DispatcherServlet prepare; //日志Logger protected final Logger logger; @@ -85,7 +85,7 @@ public class Context { public Context(long serverStartTime, Logger logger, ExecutorService workExecutor, SSLBuilder sslBuilder, SSLContext sslContext, int bufferCapacity, final int maxconns, final int maxbody, Charset charset, InetSocketAddress address, - ResourceFactory resourceFactory, PrepareServlet prepare, int aliveTimeoutSeconds, int readTimeoutSeconds, int writeTimeoutSeconds) { + ResourceFactory resourceFactory, DispatcherServlet prepare, int aliveTimeoutSeconds, int readTimeoutSeconds, int writeTimeoutSeconds) { this.serverStartTime = serverStartTime; this.logger = logger; this.workExecutor = workExecutor; @@ -110,7 +110,7 @@ public class Context { } } - protected void executePrepareServlet(Request request, Response response) { + protected void executeDispatcher(Request request, Response response) { if (workHashExecutor != null) { workHashExecutor.execute(request.getHashid(), () -> prepare.prepare(request, response)); } else if (workExecutor != null) { @@ -234,7 +234,7 @@ public class Context { public int bufferCapacity; //服务的根Servlet - public PrepareServlet prepare; + public DispatcherServlet prepare; //服务的监听地址 public InetSocketAddress address; diff --git a/src/main/java/org/redkale/net/PrepareServlet.java b/src/main/java/org/redkale/net/DispatcherServlet.java similarity index 94% rename from src/main/java/org/redkale/net/PrepareServlet.java rename to src/main/java/org/redkale/net/DispatcherServlet.java index 32023a36c..0555da39f 100644 --- a/src/main/java/org/redkale/net/PrepareServlet.java +++ b/src/main/java/org/redkale/net/DispatcherServlet.java @@ -16,7 +16,7 @@ import org.redkale.util.*; /** * 根Servlet, 一个Server只能存在一个根Servlet - * + * 由之前PrepareServlet更名而来,since 2.7.0 * 用于分发Request请求 * *

@@ -29,7 +29,7 @@ import org.redkale.util.*; * @param

Response的子类型 * @param Servlet的子类型 */ -public abstract class PrepareServlet, P extends Response, S extends Servlet> extends Servlet { +public abstract class DispatcherServlet, P extends Response, S extends Servlet> extends Servlet { protected final LongAdder executeCounter = new LongAdder(); //执行请求次数 diff --git a/src/main/java/org/redkale/net/ProtocolCodec.java b/src/main/java/org/redkale/net/ProtocolCodec.java index b93b7f075..6edfd6874 100644 --- a/src/main/java/org/redkale/net/ProtocolCodec.java +++ b/src/main/java/org/redkale/net/ProtocolCodec.java @@ -134,7 +134,7 @@ class ProtocolCodec implements CompletionHandler { final Request request = response.request; final int rs = request.readHeader(buffer, lastreq); if (rs < 0) { //表示数据格式不正确 - final PrepareServlet preparer = context.prepare; + final DispatcherServlet preparer = context.prepare; LongAdder ec = preparer.executeCounter; if (ec != null) ec.increment(); channel.offerBuffer(buffer); @@ -144,7 +144,7 @@ class ProtocolCodec implements CompletionHandler { context.logger.log(Level.FINEST, "request.readHeader erroneous (" + rs + "), force to close channel "); } } else if (rs == 0) { - final PrepareServlet preparer = context.prepare; + final DispatcherServlet preparer = context.prepare; LongAdder ec = preparer.executeCounter; if (ec != null) ec.increment(); int pindex = pipelineIndex; @@ -159,7 +159,7 @@ class ProtocolCodec implements CompletionHandler { request.pipeline(pindex, pindex); channel.setReadBuffer((ByteBuffer) buffer.clear()); } - context.executePrepareServlet(request, response); + context.executeDispatcher(request, response); if (pipeline) { final Response pipelineResponse = createResponse(); try { diff --git a/src/main/java/org/redkale/net/Server.java b/src/main/java/org/redkale/net/Server.java index 64bb573c1..59958fc9c 100644 --- a/src/main/java/org/redkale/net/Server.java +++ b/src/main/java/org/redkale/net/Server.java @@ -55,7 +55,7 @@ public abstract class Server prepare; + protected final DispatcherServlet dispatcher; //ClassLoader protected RedkaleClassLoader serverClassLoader; @@ -108,13 +108,13 @@ public abstract class Server servlet) { + protected Server(Application application, long serverStartTime, String netprotocol, ResourceFactory resourceFactory, DispatcherServlet servlet) { this.application = application; this.serverStartTime = serverStartTime; this.netprotocol = netprotocol; this.resourceFactory = resourceFactory; - this.prepare = servlet; - this.prepare.application = application; + this.dispatcher = servlet; + this.dispatcher.application = application; } public void init(final AnyValue config) throws Exception { @@ -193,7 +193,7 @@ public abstract class Server getPrepareServlet() { - return this.prepare; + public DispatcherServlet getDispatcherServlet() { + return this.dispatcher; } public C getContext() { @@ -270,11 +270,11 @@ public abstract class Server boolean containsFilter(Class filterClass) { - return this.prepare.containsFilter(filterClass); + return this.dispatcher.containsFilter(filterClass); } /** @@ -433,7 +433,7 @@ public abstract class Server boolean containsFilter(String filterClassName) { - return this.prepare.containsFilter(filterClassName); + return this.dispatcher.containsFilter(filterClassName); } /** @@ -444,7 +444,7 @@ public abstract class Server servletClass) { - return this.prepare.containsServlet(servletClass); + return this.dispatcher.containsServlet(servletClass); } /** @@ -455,7 +455,7 @@ public abstract class Server - * 一个HttpServer只有一个HttpPrepareServlet, 用于管理所有HttpServlet。
+ * HTTP Servlet的总入口,请求在HttpDispatcherServlet中进行分流。
+ * 一个HttpServer只有一个HttpDispatcherServlet, 用于管理所有HttpServlet。
* *

* 详情见: https://redkale.org * * @author zhangjx */ -public class HttpPrepareServlet extends PrepareServlet { +public class HttpDispatcherServlet extends DispatcherServlet { protected final Logger logger = Logger.getLogger(this.getClass().getSimpleName()); diff --git a/src/main/java/org/redkale/net/http/HttpServer.java b/src/main/java/org/redkale/net/http/HttpServer.java index 1eae8b6c4..31aa5656a 100644 --- a/src/main/java/org/redkale/net/http/HttpServer.java +++ b/src/main/java/org/redkale/net/http/HttpServer.java @@ -50,7 +50,7 @@ public class HttpServer extends Server getHttpServlets() { - return this.prepare.getServlets(); + return this.dispatcher.getServlets(); } public List getHttpFilters() { - return this.prepare.getFilters(); + return this.dispatcher.getFilters(); } public HttpResponseConfig getResponseConfig() { @@ -96,7 +96,7 @@ public class HttpServer extends Server HttpServlet removeHttpServlet(Class websocketOrServletType) { - return ((HttpPrepareServlet) this.prepare).removeHttpServlet(websocketOrServletType); + return ((HttpDispatcherServlet) this.dispatcher).removeHttpServlet(websocketOrServletType); } /** @@ -130,7 +130,7 @@ public class HttpServer extends Server T removeHttpFilter(Class filterClass) { - return (T) this.prepare.removeFilter(filterClass); + return (T) this.dispatcher.removeFilter(filterClass); } /** @@ -165,7 +165,7 @@ public class HttpServer extends Server T addRestWebSocketServlet(final ClassLoader classLoader, final Class webSocketType, MessageAgent messageAgent, final String prefix, final AnyValue conf) { T servlet = Rest.createRestWebSocketServlet(classLoader, webSocketType, messageAgent); - if (servlet != null) this.prepare.addServlet(servlet, prefix, conf); + if (servlet != null) this.dispatcher.addServlet(servlet, prefix, conf); return servlet; } @@ -268,7 +268,7 @@ public class HttpServer extends Server serviceType = Sncp.getServiceType(service); if (name != null) { - for (final HttpServlet item : ((HttpPrepareServlet) this.prepare).getServlets()) { + for (final HttpServlet item : ((HttpDispatcherServlet) this.dispatcher).getServlets()) { if (!(item instanceof HttpServlet)) continue; if (item.getClass().getAnnotation(Rest.RestDyn.class) == null) continue; try { @@ -316,7 +316,7 @@ public class HttpServer extends Server { +public class SncpDispatcherServlet extends DispatcherServlet { private final Object sncplock = new Object(); diff --git a/src/main/java/org/redkale/net/sncp/SncpServer.java b/src/main/java/org/redkale/net/sncp/SncpServer.java index 5134a5d72..85ee80cc4 100644 --- a/src/main/java/org/redkale/net/sncp/SncpServer.java +++ b/src/main/java/org/redkale/net/sncp/SncpServer.java @@ -39,7 +39,7 @@ public class SncpServer extends Server getSncpServlets() { - return this.prepare.getServlets(); + return this.dispatcher.getServlets(); } public List getSncpFilters() { - return this.prepare.getFilters(); + return this.dispatcher.getFilters(); } /** @@ -71,7 +71,7 @@ public class SncpServer extends Server T removeSncpFilter(Class filterClass) { - return (T) this.prepare.removeFilter(filterClass); + return (T) this.dispatcher.removeFilter(filterClass); } /** @@ -83,7 +83,7 @@ public class SncpServer extends Server