PrepareServlet 更名为 DispatcherServlet

This commit is contained in:
Redkale
2022-07-02 21:33:52 +08:00
parent f4994f66c9
commit 927007774b
12 changed files with 63 additions and 63 deletions

View File

@@ -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) {

View File

@@ -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();

View File

@@ -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;

View File

@@ -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();

View File

@@ -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;

View File

@@ -16,7 +16,7 @@ import org.redkale.util.*;
/**
* 根Servlet 一个Server只能存在一个根Servlet
*
* 由之前PrepareServlet更名而来since 2.7.0
* 用于分发Request请求
*
* <p>
@@ -29,7 +29,7 @@ import org.redkale.util.*;
* @param <P> Response的子类型
* @param <S> Servlet的子类型
*/
public abstract class PrepareServlet<K extends Serializable, C extends Context, R extends Request<C>, P extends Response<C, R>, S extends Servlet<C, R, P>> extends Servlet<C, R, P> {
public abstract class DispatcherServlet<K extends Serializable, C extends Context, R extends Request<C>, P extends Response<C, R>, S extends Servlet<C, R, P>> extends Servlet<C, R, P> {
protected final LongAdder executeCounter = new LongAdder(); //执行请求次数

View File

@@ -134,7 +134,7 @@ class ProtocolCodec implements CompletionHandler<Integer, ByteBuffer> {
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<Integer, ByteBuffer> {
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<Integer, ByteBuffer> {
request.pipeline(pindex, pindex);
channel.setReadBuffer((ByteBuffer) buffer.clear());
}
context.executePrepareServlet(request, response);
context.executeDispatcher(request, response);
if (pipeline) {
final Response pipelineResponse = createResponse();
try {

View File

@@ -55,7 +55,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
protected final ResourceFactory resourceFactory;
//服务的根Servlet
protected final PrepareServlet<K, C, R, P, S> prepare;
protected final DispatcherServlet<K, C, R, P, S> dispatcher;
//ClassLoader
protected RedkaleClassLoader serverClassLoader;
@@ -108,13 +108,13 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
//IO写入 的超时秒数小于1视为不设置
protected int writeTimeoutSeconds;
protected Server(Application application, long serverStartTime, String netprotocol, ResourceFactory resourceFactory, PrepareServlet<K, C, R, P, S> servlet) {
protected Server(Application application, long serverStartTime, String netprotocol, ResourceFactory resourceFactory, DispatcherServlet<K, C, R, P, S> 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<K extends Serializable, C extends Context, R extend
}
public void destroy(final AnyValue config) throws Exception {
this.prepare.destroy(context, config);
this.dispatcher.destroy(context, config);
}
public ResourceFactory getResourceFactory() {
@@ -216,8 +216,8 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
return this.logger;
}
public PrepareServlet<K, C, R, P, S> getPrepareServlet() {
return this.prepare;
public DispatcherServlet<K, C, R, P, S> getDispatcherServlet() {
return this.dispatcher;
}
public C getContext() {
@@ -270,11 +270,11 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
@SuppressWarnings("unchecked")
public void addServlet(S servlet, final Object attachment, AnyValue conf, K... mappings) {
this.prepare.addServlet(servlet, attachment, conf, mappings);
this.dispatcher.addServlet(servlet, attachment, conf, mappings);
}
public void start() throws IOException {
this.prepare.init(this.context, config); //不能在init方法内执行因Server.init执行后会调用loadService,loadServlet, 再执行Server.start
this.dispatcher.init(this.context, config); //不能在init方法内执行因Server.init执行后会调用loadService,loadServlet, 再执行Server.start
this.postPrepareInit();
this.serverChannel = ProtocolServer.create(this.netprotocol, context, this.serverClassLoader);
if (application != null) { //main函数调试时可能为null
@@ -378,7 +378,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
contextConfig.maxbody = this.maxbody;
contextConfig.charset = this.charset;
contextConfig.address = this.address;
contextConfig.prepare = this.prepare;
contextConfig.prepare = this.dispatcher;
contextConfig.resourceFactory = this.resourceFactory;
contextConfig.aliveTimeoutSeconds = this.aliveTimeoutSeconds;
contextConfig.readTimeoutSeconds = this.readTimeoutSeconds;
@@ -399,7 +399,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
} catch (Exception e) {
}
logger.info(this.getClass().getSimpleName() + "-" + this.netprotocol + " shutdow prepare servlet");
this.prepare.destroy(this.context, config);
this.dispatcher.destroy(this.context, config);
long e = System.currentTimeMillis() - s;
logger.info(this.getClass().getSimpleName() + "-" + this.netprotocol + " shutdown in " + e + " ms");
}
@@ -421,7 +421,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
* @return boolean
*/
public <T extends Filter> boolean containsFilter(Class<T> filterClass) {
return this.prepare.containsFilter(filterClass);
return this.dispatcher.containsFilter(filterClass);
}
/**
@@ -433,7 +433,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
* @return boolean
*/
public <T extends Filter> boolean containsFilter(String filterClassName) {
return this.prepare.containsFilter(filterClassName);
return this.dispatcher.containsFilter(filterClassName);
}
/**
@@ -444,7 +444,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
* @return boolean
*/
public boolean containsServlet(Class<? extends S> servletClass) {
return this.prepare.containsServlet(servletClass);
return this.dispatcher.containsServlet(servletClass);
}
/**
@@ -455,7 +455,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
* @return boolean
*/
public boolean containsServlet(String servletClassName) {
return this.prepare.containsServlet(servletClassName);
return this.dispatcher.containsServlet(servletClassName);
}
/**
@@ -464,7 +464,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
* @param servlet Servlet
*/
public void destroyServlet(S servlet) {
servlet.destroy(context, this.prepare.getServletConf(servlet));
servlet.destroy(context, this.dispatcher.getServletConf(servlet));
}
//创建数

View File

@@ -18,15 +18,15 @@ import org.redkale.service.Service;
import org.redkale.util.*;
/**
* HTTP Servlet的总入口请求在HttpPrepareServlet中进行分流 <br>
* 一个HttpServer只有一个HttpPrepareServlet 用于管理所有HttpServlet <br>
* HTTP Servlet的总入口请求在HttpDispatcherServlet中进行分流 <br>
* 一个HttpServer只有一个HttpDispatcherServlet 用于管理所有HttpServlet <br>
*
* <p>
* 详情见: https://redkale.org
*
* @author zhangjx
*/
public class HttpPrepareServlet extends PrepareServlet<String, HttpContext, HttpRequest, HttpResponse, HttpServlet> {
public class HttpDispatcherServlet extends DispatcherServlet<String, HttpContext, HttpRequest, HttpResponse, HttpServlet> {
protected final Logger logger = Logger.getLogger(this.getClass().getSimpleName());

View File

@@ -50,7 +50,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
}
public HttpServer(Application application, long serverStartTime, ResourceFactory resourceFactory) {
super(application, serverStartTime, "TCP", resourceFactory, new HttpPrepareServlet());
super(application, serverStartTime, "TCP", resourceFactory, new HttpDispatcherServlet());
}
@Override
@@ -63,7 +63,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
@Override
protected void postStart() {
((HttpPrepareServlet) this.prepare).postStart(this.context, config);
((HttpDispatcherServlet) this.dispatcher).postStart(this.context, config);
}
@Override
@@ -79,11 +79,11 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
}
public List<HttpServlet> getHttpServlets() {
return this.prepare.getServlets();
return this.dispatcher.getServlets();
}
public List<HttpFilter> getHttpFilters() {
return this.prepare.getFilters();
return this.dispatcher.getFilters();
}
public HttpResponseConfig getResponseConfig() {
@@ -96,7 +96,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServlet
*/
public HttpResourceServlet getResourceServlet() {
return (HttpResourceServlet) ((HttpPrepareServlet) this.prepare).resourceHttpServlet;
return (HttpResourceServlet) ((HttpDispatcherServlet) this.dispatcher).resourceHttpServlet;
}
/**
@@ -107,7 +107,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServlet
*/
public HttpServlet removeHttpServlet(Service service) {
return ((HttpPrepareServlet) this.prepare).removeHttpServlet(service);
return ((HttpDispatcherServlet) this.dispatcher).removeHttpServlet(service);
}
/**
@@ -119,7 +119,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServlet
*/
public <T extends WebSocket> HttpServlet removeHttpServlet(Class<T> websocketOrServletType) {
return ((HttpPrepareServlet) this.prepare).removeHttpServlet(websocketOrServletType);
return ((HttpDispatcherServlet) this.dispatcher).removeHttpServlet(websocketOrServletType);
}
/**
@@ -130,7 +130,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return 是否成功
*/
public boolean addForbidURIReg(final String urlreg) {
return ((HttpPrepareServlet) this.prepare).addForbidURIReg(urlreg);
return ((HttpDispatcherServlet) this.dispatcher).addForbidURIReg(urlreg);
}
/**
@@ -141,7 +141,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return 是否成功
*/
public boolean removeForbidURIReg(final String urlreg) {
return ((HttpPrepareServlet) this.prepare).removeForbidURIReg(urlreg);
return ((HttpDispatcherServlet) this.dispatcher).removeForbidURIReg(urlreg);
}
/**
@@ -153,7 +153,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpFilter
*/
public <T extends HttpFilter> T removeHttpFilter(Class<T> filterClass) {
return (T) this.prepare.removeFilter(filterClass);
return (T) this.dispatcher.removeFilter(filterClass);
}
/**
@@ -165,7 +165,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer
*/
public HttpServer addHttpFilter(HttpFilter filter, AnyValue conf) {
this.prepare.addFilter(filter, conf);
this.dispatcher.addFilter(filter, conf);
return this;
}
@@ -179,7 +179,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer
*/
public HttpServer addHttpServlet(String prefix, HttpServlet servlet, String... mappings) {
this.prepare.addServlet(servlet, prefix, null, mappings);
this.dispatcher.addServlet(servlet, prefix, null, mappings);
return this;
}
@@ -192,7 +192,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer
*/
public HttpServer addHttpServlet(HttpServlet servlet, String... mappings) {
this.prepare.addServlet(servlet, null, null, mappings);
this.dispatcher.addServlet(servlet, null, null, mappings);
return this;
}
@@ -207,7 +207,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer
*/
public HttpServer addHttpServlet(HttpServlet servlet, final String prefix, AnyValue conf, String... mappings) {
this.prepare.addServlet(servlet, prefix, conf, mappings);
this.dispatcher.addServlet(servlet, prefix, conf, mappings);
return this;
}
@@ -226,7 +226,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
*/
public <S extends WebSocket, T extends WebSocketServlet> T addRestWebSocketServlet(final ClassLoader classLoader, final Class<S> 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<String, HttpContext, HttpRequest, HttpRes
final String resname = name == null ? (sncp ? Sncp.getResourceName(service) : "") : name;
final Class<S> 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<String, HttpContext, HttpRequest, HttpRes
} catch (Exception e) {
throw new RuntimeException(serviceType + " generate rest servlet error", e);
}
if (first) this.prepare.addServlet(servlet, prefix, sncp ? Sncp.getConf(service) : null);
if (first) this.dispatcher.addServlet(servlet, prefix, sncp ? Sncp.getConf(service) : null);
return servlet;
}

View File

@@ -5,7 +5,7 @@
*/
package org.redkale.net.sncp;
import org.redkale.net.PrepareServlet;
import org.redkale.net.DispatcherServlet;
import org.redkale.util.AnyValue;
import java.io.IOException;
import org.redkale.service.Service;
@@ -18,7 +18,7 @@ import org.redkale.util.*;
*
* @author zhangjx
*/
public class SncpPrepareServlet extends PrepareServlet<DLong, SncpContext, SncpRequest, SncpResponse, SncpServlet> {
public class SncpDispatcherServlet extends DispatcherServlet<DLong, SncpContext, SncpRequest, SncpResponse, SncpServlet> {
private final Object sncplock = new Object();

View File

@@ -39,7 +39,7 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
}
public SncpServer(Application application, long serverStartTime, AnyValue serconf, ResourceFactory resourceFactory) {
super(application, serverStartTime, netprotocol(serconf), resourceFactory, new SncpPrepareServlet());
super(application, serverStartTime, netprotocol(serconf), resourceFactory, new SncpDispatcherServlet());
}
private static String netprotocol(AnyValue serconf) {
@@ -55,11 +55,11 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
}
public List<SncpServlet> getSncpServlets() {
return this.prepare.getServlets();
return this.dispatcher.getServlets();
}
public List<SncpFilter> getSncpFilters() {
return this.prepare.getFilters();
return this.dispatcher.getFilters();
}
/**
@@ -71,7 +71,7 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
* @return SncpFilter
*/
public <T extends SncpFilter> T removeSncpFilter(Class<T> filterClass) {
return (T) this.prepare.removeFilter(filterClass);
return (T) this.dispatcher.removeFilter(filterClass);
}
/**
@@ -83,7 +83,7 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
* @return SncpServer
*/
public SncpServer addSncpFilter(SncpFilter filter, AnyValue conf) {
this.prepare.addFilter(filter, conf);
this.dispatcher.addFilter(filter, conf);
return this;
}
@@ -95,14 +95,14 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
* @return SncpServlet
*/
public SncpServlet removeSncpServlet(Service sncpService) {
return ((SncpPrepareServlet) this.prepare).removeSncpServlet(sncpService);
return ((SncpDispatcherServlet) this.dispatcher).removeSncpServlet(sncpService);
}
public SncpDynServlet addSncpServlet(Service sncpService) {
if (!Sncp.isSncpDyn(sncpService)) return null;
SncpDynServlet sds = new SncpDynServlet(BsonFactory.root().getConvert(), Sncp.getResourceName(sncpService),
Sncp.getResourceType(sncpService), sncpService, maxTypeLength, maxNameLength);
this.prepare.addServlet(sds, null, Sncp.getConf(sncpService));
this.dispatcher.addServlet(sds, null, Sncp.getConf(sncpService));
return sds;
}