PrepareServlet 更名为 DispatcherServlet
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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(); //执行请求次数
|
||||||
|
|
||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
//创建数
|
//创建数
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user