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 == null || plainContentType.isEmpty()) plainContentType = "application/json";
if (plainContentType.indexOf(';') > 0) plainContentType = plainContentType.substring(0, plainContentType.indexOf(';')); 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 HttpServlet)) continue;
if (servlet instanceof WebSocketServlet) continue; if (servlet instanceof WebSocketServlet) continue;
if (servlet.getClass().getAnnotation(MessageMultiConsumer.class) != null) { if (servlet.getClass().getAnnotation(MessageMultiConsumer.class) != null) {

View File

@@ -1456,7 +1456,7 @@ public final class Application {
if (!singletonMode && !compileMode) { if (!singletonMode && !compileMode) {
server.start(); server.start();
} else if (compileMode) { } else if (compileMode) {
server.getServer().getPrepareServlet().init(server.getServer().getContext(), serconf); server.getServer().getDispatcherServlet().init(server.getServer().getContext(), serconf);
} }
servers.add(server); servers.add(server);
timecd.countDown(); timecd.countDown();

View File

@@ -165,7 +165,7 @@ public class NodeHttpServer extends NodeServer {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected void loadHttpServlet(final ClassFilter<? extends Servlet> servletFilter, ClassFilter<? extends WebSocket> webSocketFilter) throws Exception { protected void loadHttpServlet(final ClassFilter<? extends Servlet> servletFilter, ClassFilter<? extends WebSocket> webSocketFilter) throws Exception {
RedkaleClassLoader.putReflectionPublicClasses(HttpServlet.class.getName()); RedkaleClassLoader.putReflectionPublicClasses(HttpServlet.class.getName());
RedkaleClassLoader.putReflectionPublicClasses(HttpPrepareServlet.class.getName()); RedkaleClassLoader.putReflectionPublicClasses(HttpDispatcherServlet.class.getName());
RedkaleClassLoader.putReflectionDeclaredConstructors(HttpResourceServlet.class, HttpResourceServlet.class.getName()); RedkaleClassLoader.putReflectionDeclaredConstructors(HttpResourceServlet.class, HttpResourceServlet.class.getName());
final AnyValue servletsConf = this.serverConf.getAnyValue("servlets"); final AnyValue servletsConf = this.serverConf.getAnyValue("servlets");
final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null;

View File

@@ -69,16 +69,16 @@ public class HttpMessageLocalClient extends HttpMessageClient {
return httpServer().getContext(); return httpServer().getContext();
} }
protected HttpPrepareServlet prepareServlet() { protected HttpDispatcherServlet dispatcherServlet() {
return (HttpPrepareServlet) httpServer().getPrepareServlet(); return (HttpDispatcherServlet) httpServer().getDispatcherServlet();
} }
protected HttpServlet findHttpServlet(String topic) { protected HttpServlet findHttpServlet(String topic) {
return prepareServlet().findServletByTopic(topic); return dispatcherServlet().findServletByTopic(topic);
} }
protected HttpServlet findHttpServlet(HttpSimpleRequest request) { protected HttpServlet findHttpServlet(HttpSimpleRequest request) {
return prepareServlet().findServletByTopic(generateHttpReqTopic(request, request.getPath())); return dispatcherServlet().findServletByTopic(generateHttpReqTopic(request, request.getPath()));
} }
@Override @Override
@@ -141,7 +141,7 @@ public class HttpMessageLocalClient extends HttpMessageClient {
@Override @Override
public void produceMessage(String topic, Serializable userid, String groupid, HttpSimpleRequest request, AtomicLong counter) { public void produceMessage(String topic, Serializable userid, String groupid, HttpSimpleRequest request, AtomicLong counter) {
HttpPrepareServlet ps = prepareServlet(); HttpDispatcherServlet ps = dispatcherServlet();
HttpServlet servlet = ps.findServletByTopic(topic); HttpServlet servlet = ps.findServletByTopic(topic);
if (servlet == null) { if (servlet == null) {
if (fine) logger.log(Level.FINE, "produceMessage: request=" + request + ", not found servlet"); if (fine) logger.log(Level.FINE, "produceMessage: request=" + request + ", not found servlet");
@@ -159,7 +159,7 @@ public class HttpMessageLocalClient extends HttpMessageClient {
@Override @Override
public void broadcastMessage(String topic, Serializable userid, String groupid, HttpSimpleRequest request, AtomicLong counter) { 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); HttpRequest req = new HttpMessageLocalRequest(context(), request, userid);
HttpResponse resp = new HttpMessageLocalResponse(req, null); HttpResponse resp = new HttpMessageLocalResponse(req, null);
Traces.createTraceid(); Traces.createTraceid();

View File

@@ -42,7 +42,7 @@ public class Context {
protected final int bufferCapacity; protected final int bufferCapacity;
//服务的根Servlet //服务的根Servlet
protected final PrepareServlet prepare; protected final DispatcherServlet prepare;
//日志Logger //日志Logger
protected final Logger logger; protected final Logger logger;
@@ -85,7 +85,7 @@ public class Context {
public Context(long serverStartTime, Logger logger, ExecutorService workExecutor, SSLBuilder sslBuilder, SSLContext sslContext, public Context(long serverStartTime, Logger logger, ExecutorService workExecutor, SSLBuilder sslBuilder, SSLContext sslContext,
int bufferCapacity, final int maxconns, final int maxbody, Charset charset, InetSocketAddress address, 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.serverStartTime = serverStartTime;
this.logger = logger; this.logger = logger;
this.workExecutor = workExecutor; 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) { if (workHashExecutor != null) {
workHashExecutor.execute(request.getHashid(), () -> prepare.prepare(request, response)); workHashExecutor.execute(request.getHashid(), () -> prepare.prepare(request, response));
} else if (workExecutor != null) { } else if (workExecutor != null) {
@@ -234,7 +234,7 @@ public class Context {
public int bufferCapacity; public int bufferCapacity;
//服务的根Servlet //服务的根Servlet
public PrepareServlet prepare; public DispatcherServlet prepare;
//服务的监听地址 //服务的监听地址
public InetSocketAddress address; public InetSocketAddress address;

View File

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

View File

@@ -134,7 +134,7 @@ class ProtocolCodec implements CompletionHandler<Integer, ByteBuffer> {
final Request request = response.request; final Request request = response.request;
final int rs = request.readHeader(buffer, lastreq); final int rs = request.readHeader(buffer, lastreq);
if (rs < 0) { //表示数据格式不正确 if (rs < 0) { //表示数据格式不正确
final PrepareServlet preparer = context.prepare; final DispatcherServlet preparer = context.prepare;
LongAdder ec = preparer.executeCounter; LongAdder ec = preparer.executeCounter;
if (ec != null) ec.increment(); if (ec != null) ec.increment();
channel.offerBuffer(buffer); 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 "); context.logger.log(Level.FINEST, "request.readHeader erroneous (" + rs + "), force to close channel ");
} }
} else if (rs == 0) { } else if (rs == 0) {
final PrepareServlet preparer = context.prepare; final DispatcherServlet preparer = context.prepare;
LongAdder ec = preparer.executeCounter; LongAdder ec = preparer.executeCounter;
if (ec != null) ec.increment(); if (ec != null) ec.increment();
int pindex = pipelineIndex; int pindex = pipelineIndex;
@@ -159,7 +159,7 @@ class ProtocolCodec implements CompletionHandler<Integer, ByteBuffer> {
request.pipeline(pindex, pindex); request.pipeline(pindex, pindex);
channel.setReadBuffer((ByteBuffer) buffer.clear()); channel.setReadBuffer((ByteBuffer) buffer.clear());
} }
context.executePrepareServlet(request, response); context.executeDispatcher(request, response);
if (pipeline) { if (pipeline) {
final Response pipelineResponse = createResponse(); final Response pipelineResponse = createResponse();
try { try {

View File

@@ -55,7 +55,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
protected final ResourceFactory resourceFactory; protected final ResourceFactory resourceFactory;
//服务的根Servlet //服务的根Servlet
protected final PrepareServlet<K, C, R, P, S> prepare; protected final DispatcherServlet<K, C, R, P, S> dispatcher;
//ClassLoader //ClassLoader
protected RedkaleClassLoader serverClassLoader; protected RedkaleClassLoader serverClassLoader;
@@ -108,13 +108,13 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
//IO写入 的超时秒数小于1视为不设置 //IO写入 的超时秒数小于1视为不设置
protected int writeTimeoutSeconds; 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.application = application;
this.serverStartTime = serverStartTime; this.serverStartTime = serverStartTime;
this.netprotocol = netprotocol; this.netprotocol = netprotocol;
this.resourceFactory = resourceFactory; this.resourceFactory = resourceFactory;
this.prepare = servlet; this.dispatcher = servlet;
this.prepare.application = application; this.dispatcher.application = application;
} }
public void init(final AnyValue config) throws Exception { 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 { public void destroy(final AnyValue config) throws Exception {
this.prepare.destroy(context, config); this.dispatcher.destroy(context, config);
} }
public ResourceFactory getResourceFactory() { public ResourceFactory getResourceFactory() {
@@ -216,8 +216,8 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
return this.logger; return this.logger;
} }
public PrepareServlet<K, C, R, P, S> getPrepareServlet() { public DispatcherServlet<K, C, R, P, S> getDispatcherServlet() {
return this.prepare; return this.dispatcher;
} }
public C getContext() { public C getContext() {
@@ -270,11 +270,11 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public void addServlet(S servlet, final Object attachment, AnyValue conf, K... mappings) { 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 { 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.postPrepareInit();
this.serverChannel = ProtocolServer.create(this.netprotocol, context, this.serverClassLoader); this.serverChannel = ProtocolServer.create(this.netprotocol, context, this.serverClassLoader);
if (application != null) { //main函数调试时可能为null 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.maxbody = this.maxbody;
contextConfig.charset = this.charset; contextConfig.charset = this.charset;
contextConfig.address = this.address; contextConfig.address = this.address;
contextConfig.prepare = this.prepare; contextConfig.prepare = this.dispatcher;
contextConfig.resourceFactory = this.resourceFactory; contextConfig.resourceFactory = this.resourceFactory;
contextConfig.aliveTimeoutSeconds = this.aliveTimeoutSeconds; contextConfig.aliveTimeoutSeconds = this.aliveTimeoutSeconds;
contextConfig.readTimeoutSeconds = this.readTimeoutSeconds; contextConfig.readTimeoutSeconds = this.readTimeoutSeconds;
@@ -399,7 +399,7 @@ public abstract class Server<K extends Serializable, C extends Context, R extend
} catch (Exception e) { } catch (Exception e) {
} }
logger.info(this.getClass().getSimpleName() + "-" + this.netprotocol + " shutdow prepare servlet"); 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; long e = System.currentTimeMillis() - s;
logger.info(this.getClass().getSimpleName() + "-" + this.netprotocol + " shutdown in " + e + " ms"); 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 * @return boolean
*/ */
public <T extends Filter> boolean containsFilter(Class<T> filterClass) { 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 * @return boolean
*/ */
public <T extends Filter> boolean containsFilter(String filterClassName) { 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 * @return boolean
*/ */
public boolean containsServlet(Class<? extends S> servletClass) { 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 * @return boolean
*/ */
public boolean containsServlet(String servletClassName) { 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 * @param servlet Servlet
*/ */
public void destroyServlet(S 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.*; import org.redkale.util.*;
/** /**
* HTTP Servlet的总入口请求在HttpPrepareServlet中进行分流 <br> * HTTP Servlet的总入口请求在HttpDispatcherServlet中进行分流 <br>
* 一个HttpServer只有一个HttpPrepareServlet 用于管理所有HttpServlet <br> * 一个HttpServer只有一个HttpDispatcherServlet 用于管理所有HttpServlet <br>
* *
* <p> * <p>
* 详情见: https://redkale.org * 详情见: https://redkale.org
* *
* @author zhangjx * @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()); 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) { public HttpServer(Application application, long serverStartTime, ResourceFactory resourceFactory) {
super(application, serverStartTime, "TCP", resourceFactory, new HttpPrepareServlet()); super(application, serverStartTime, "TCP", resourceFactory, new HttpDispatcherServlet());
} }
@Override @Override
@@ -63,7 +63,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
@Override @Override
protected void postStart() { protected void postStart() {
((HttpPrepareServlet) this.prepare).postStart(this.context, config); ((HttpDispatcherServlet) this.dispatcher).postStart(this.context, config);
} }
@Override @Override
@@ -79,11 +79,11 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
} }
public List<HttpServlet> getHttpServlets() { public List<HttpServlet> getHttpServlets() {
return this.prepare.getServlets(); return this.dispatcher.getServlets();
} }
public List<HttpFilter> getHttpFilters() { public List<HttpFilter> getHttpFilters() {
return this.prepare.getFilters(); return this.dispatcher.getFilters();
} }
public HttpResponseConfig getResponseConfig() { public HttpResponseConfig getResponseConfig() {
@@ -96,7 +96,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServlet * @return HttpServlet
*/ */
public HttpResourceServlet getResourceServlet() { 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 * @return HttpServlet
*/ */
public HttpServlet removeHttpServlet(Service service) { 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 * @return HttpServlet
*/ */
public <T extends WebSocket> HttpServlet removeHttpServlet(Class<T> websocketOrServletType) { 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 是否成功 * @return 是否成功
*/ */
public boolean addForbidURIReg(final String urlreg) { 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 是否成功 * @return 是否成功
*/ */
public boolean removeForbidURIReg(final String urlreg) { 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 * @return HttpFilter
*/ */
public <T extends HttpFilter> T removeHttpFilter(Class<T> filterClass) { 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 * @return HttpServer
*/ */
public HttpServer addHttpFilter(HttpFilter filter, AnyValue conf) { public HttpServer addHttpFilter(HttpFilter filter, AnyValue conf) {
this.prepare.addFilter(filter, conf); this.dispatcher.addFilter(filter, conf);
return this; return this;
} }
@@ -179,7 +179,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer * @return HttpServer
*/ */
public HttpServer addHttpServlet(String prefix, HttpServlet servlet, String... mappings) { 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; return this;
} }
@@ -192,7 +192,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer * @return HttpServer
*/ */
public HttpServer addHttpServlet(HttpServlet servlet, String... mappings) { public HttpServer addHttpServlet(HttpServlet servlet, String... mappings) {
this.prepare.addServlet(servlet, null, null, mappings); this.dispatcher.addServlet(servlet, null, null, mappings);
return this; return this;
} }
@@ -207,7 +207,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
* @return HttpServer * @return HttpServer
*/ */
public HttpServer addHttpServlet(HttpServlet servlet, final String prefix, AnyValue conf, String... mappings) { 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; 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) { 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); 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; 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 String resname = name == null ? (sncp ? Sncp.getResourceName(service) : "") : name;
final Class<S> serviceType = Sncp.getServiceType(service); final Class<S> serviceType = Sncp.getServiceType(service);
if (name != null) { 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 instanceof HttpServlet)) continue;
if (item.getClass().getAnnotation(Rest.RestDyn.class) == null) continue; if (item.getClass().getAnnotation(Rest.RestDyn.class) == null) continue;
try { try {
@@ -316,7 +316,7 @@ public class HttpServer extends Server<String, HttpContext, HttpRequest, HttpRes
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(serviceType + " generate rest servlet error", 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; return servlet;
} }

View File

@@ -5,7 +5,7 @@
*/ */
package org.redkale.net.sncp; package org.redkale.net.sncp;
import org.redkale.net.PrepareServlet; import org.redkale.net.DispatcherServlet;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
import java.io.IOException; import java.io.IOException;
import org.redkale.service.Service; import org.redkale.service.Service;
@@ -18,7 +18,7 @@ import org.redkale.util.*;
* *
* @author zhangjx * @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(); 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) { 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) { private static String netprotocol(AnyValue serconf) {
@@ -55,11 +55,11 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
} }
public List<SncpServlet> getSncpServlets() { public List<SncpServlet> getSncpServlets() {
return this.prepare.getServlets(); return this.dispatcher.getServlets();
} }
public List<SncpFilter> getSncpFilters() { 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 * @return SncpFilter
*/ */
public <T extends SncpFilter> T removeSncpFilter(Class<T> filterClass) { 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 * @return SncpServer
*/ */
public SncpServer addSncpFilter(SncpFilter filter, AnyValue conf) { public SncpServer addSncpFilter(SncpFilter filter, AnyValue conf) {
this.prepare.addFilter(filter, conf); this.dispatcher.addFilter(filter, conf);
return this; return this;
} }
@@ -95,14 +95,14 @@ public class SncpServer extends Server<DLong, SncpContext, SncpRequest, SncpResp
* @return SncpServlet * @return SncpServlet
*/ */
public SncpServlet removeSncpServlet(Service sncpService) { public SncpServlet removeSncpServlet(Service sncpService) {
return ((SncpPrepareServlet) this.prepare).removeSncpServlet(sncpService); return ((SncpDispatcherServlet) this.dispatcher).removeSncpServlet(sncpService);
} }
public SncpDynServlet addSncpServlet(Service sncpService) { public SncpDynServlet addSncpServlet(Service sncpService) {
if (!Sncp.isSncpDyn(sncpService)) return null; if (!Sncp.isSncpDyn(sncpService)) return null;
SncpDynServlet sds = new SncpDynServlet(BsonFactory.root().getConvert(), Sncp.getResourceName(sncpService), SncpDynServlet sds = new SncpDynServlet(BsonFactory.root().getConvert(), Sncp.getResourceName(sncpService),
Sncp.getResourceType(sncpService), sncpService, maxTypeLength, maxNameLength); Sncp.getResourceType(sncpService), sncpService, maxTypeLength, maxNameLength);
this.prepare.addServlet(sds, null, Sncp.getConf(sncpService)); this.dispatcher.addServlet(sds, null, Sncp.getConf(sncpService));
return sds; return sds;
} }