mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix code
This commit is contained in:
parent
3a79f73927
commit
ae7e3b76cb
@ -99,6 +99,7 @@ public class SmartHttpServerEngine extends AbstractServerEngine {
|
||||
configuration.setHttpIdleTimeout((int) idleTimeout);
|
||||
}
|
||||
|
||||
// 请求处理器
|
||||
bootstrap.httpHandler(new HttpServerHandler() {
|
||||
@Override
|
||||
public void handle(final HttpRequest request, final HttpResponse response) {
|
||||
|
@ -32,6 +32,7 @@ import java.net.InetSocketAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
/**
|
||||
* 基于Sun HttpServer的HTTP服务器引擎实现
|
||||
@ -116,7 +117,7 @@ public class SunHttpServerEngine extends AbstractServerEngine {
|
||||
path = StrUtil.addPrefixIfNot(path, StrUtil.SLASH);
|
||||
final HttpContext context = this.server.createContext(path, handler);
|
||||
// 增加整体过滤器
|
||||
if(CollUtil.isNotEmpty(this.filters)){
|
||||
if (CollUtil.isNotEmpty(this.filters)) {
|
||||
context.getFilters().addAll(this.filters);
|
||||
}
|
||||
return context;
|
||||
@ -144,6 +145,8 @@ public class SunHttpServerEngine extends AbstractServerEngine {
|
||||
@Override
|
||||
protected void initEngine() {
|
||||
final ServerConfig config = this.config;
|
||||
|
||||
// SSL
|
||||
final InetSocketAddress address = new InetSocketAddress(config.getHost(), config.getPort());
|
||||
final SSLContext sslContext = config.getSslContext();
|
||||
try {
|
||||
@ -158,25 +161,37 @@ public class SunHttpServerEngine extends AbstractServerEngine {
|
||||
throw new IORuntimeException(e);
|
||||
}
|
||||
|
||||
// 线程池
|
||||
final int coreThreads = config.getCoreThreads();
|
||||
final ExecutorBuilder executorBuilder = ExecutorBuilder.of();
|
||||
if(coreThreads > 0){
|
||||
executorBuilder.setCorePoolSize(coreThreads);
|
||||
}
|
||||
final int maxThreads = config.getMaxThreads();
|
||||
if(maxThreads > 0){
|
||||
executorBuilder.setMaxPoolSize(maxThreads);
|
||||
}
|
||||
final long idleTimeout = config.getIdleTimeout();
|
||||
if(idleTimeout > 0){
|
||||
executorBuilder.setKeepAliveTime(idleTimeout);
|
||||
}
|
||||
// 线程池和连接配置
|
||||
setExecutor(createExecutor(config));
|
||||
|
||||
setExecutor(executorBuilder.build());
|
||||
createContext("/", exchange -> SunHttpServerEngine.this.handler.handle(
|
||||
// 请求处理器
|
||||
createContext("/", exchange -> handler.handle(
|
||||
new SunServerRequest(exchange),
|
||||
new SunServerResponse(exchange)
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建线程池
|
||||
*
|
||||
* @param config {@link ServerConfig}
|
||||
* @return {@link ThreadPoolExecutor}
|
||||
*/
|
||||
private static ThreadPoolExecutor createExecutor(final ServerConfig config) {
|
||||
final ExecutorBuilder executorBuilder = ExecutorBuilder.of();
|
||||
// 线程池
|
||||
final int coreThreads = config.getCoreThreads();
|
||||
if (coreThreads > 0) {
|
||||
executorBuilder.setCorePoolSize(coreThreads);
|
||||
}
|
||||
final int maxThreads = config.getMaxThreads();
|
||||
if (maxThreads > 0) {
|
||||
executorBuilder.setMaxPoolSize(maxThreads);
|
||||
}
|
||||
final long idleTimeout = config.getIdleTimeout();
|
||||
if (idleTimeout > 0) {
|
||||
executorBuilder.setKeepAliveTime(idleTimeout);
|
||||
}
|
||||
return executorBuilder.build();
|
||||
}
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ public class TomcatEngine extends AbstractServerEngine {
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建Connector
|
||||
* 创建Connector,包括SSL配置
|
||||
*
|
||||
* @return Connector
|
||||
*/
|
||||
|
@ -66,14 +66,9 @@ public class UndertowEngine extends AbstractServerEngine {
|
||||
if (null != this.undertow) {
|
||||
return;
|
||||
}
|
||||
final Undertow.Builder builder = Undertow.builder()
|
||||
.setHandler(exchange -> {
|
||||
this.handler.handle(
|
||||
new UndertowRequest(exchange),
|
||||
new UndertowResponse(exchange));
|
||||
});
|
||||
|
||||
final Undertow.Builder builder = Undertow.builder();
|
||||
final ServerConfig config = this.config;
|
||||
|
||||
// 选项
|
||||
final int maxHeaderSize = config.getMaxHeaderSize();
|
||||
if(maxHeaderSize > 0){
|
||||
@ -96,6 +91,7 @@ public class UndertowEngine extends AbstractServerEngine {
|
||||
builder.setWorkerThreads(maxThreads);
|
||||
}
|
||||
|
||||
// SSL配置
|
||||
final SSLContext sslContext = config.getSslContext();
|
||||
if(null != sslContext){
|
||||
builder.addHttpsListener(config.getPort(), config.getHost(), sslContext);
|
||||
@ -103,6 +99,12 @@ public class UndertowEngine extends AbstractServerEngine {
|
||||
builder.addHttpListener(config.getPort(), config.getHost());
|
||||
}
|
||||
|
||||
// 请求处理器
|
||||
builder.setHandler(exchange -> {
|
||||
this.handler.handle(
|
||||
new UndertowRequest(exchange),
|
||||
new UndertowResponse(exchange));
|
||||
});
|
||||
this.undertow = builder.build();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user