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 extends Servlet> servletFilter, ClassFilter extends WebSocket> 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
* 详情见: https://redkale.org
*
* @author zhangjx
*/
-public class HttpPrepareServlet extends PrepareServlet Servlet的子类型
*/
-public abstract class PrepareServlet
+ * HTTP Servlet的总入口,请求在HttpDispatcherServlet中进行分流。
+ * 一个HttpServer只有一个HttpDispatcherServlet, 用于管理所有HttpServlet。
*
* 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