diff --git a/src/org/redkale/net/Context.java b/src/org/redkale/net/Context.java index a2bd447bc..3262134a3 100644 --- a/src/org/redkale/net/Context.java +++ b/src/org/redkale/net/Context.java @@ -31,7 +31,7 @@ public class Context { protected final long serverStartTime; //Server的线程池 - protected final ExecutorService executor; + protected final ThreadPoolExecutor executor; //ByteBuffer的容量,默认8K protected final int bufferCapacity; @@ -69,7 +69,7 @@ public class Context { //JSON操作工厂 protected final JsonFactory jsonFactory; - public Context(long serverStartTime, Logger logger, ExecutorService executor, int bufferCapacity, ObjectPool bufferPool, ObjectPool responsePool, + public Context(long serverStartTime, Logger logger, ThreadPoolExecutor executor, int bufferCapacity, ObjectPool bufferPool, ObjectPool responsePool, final int maxbody, Charset charset, InetSocketAddress address, final PrepareServlet prepare, final int readTimeoutSecond, final int writeTimeoutSecond) { this.serverStartTime = serverStartTime; this.logger = logger; diff --git a/src/org/redkale/net/Server.java b/src/org/redkale/net/Server.java index 93ea55127..4b801e9ef 100644 --- a/src/org/redkale/net/Server.java +++ b/src/org/redkale/net/Server.java @@ -71,7 +71,7 @@ public abstract class Server { + this.executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(threads, (Runnable r) -> { Thread t = new WorkThread(executor, r); t.setName(n + "-ServletThread-" + f.format(counter.incrementAndGet())); return t; @@ -166,6 +166,13 @@ public abstract class Server asyncHandlerCreators = new ConcurrentHashMap<>(); - public HttpContext(long serverStartTime, Logger logger, ExecutorService executor, int bufferCapacity, ObjectPool bufferPool, + public HttpContext(long serverStartTime, Logger logger, ThreadPoolExecutor executor, int bufferCapacity, ObjectPool bufferPool, ObjectPool responsePool, int maxbody, Charset charset, InetSocketAddress address, PrepareServlet prepare, int readTimeoutSecond, int writeTimeoutSecond) { super(serverStartTime, logger, executor, bufferCapacity, bufferPool, responsePool, maxbody, charset, diff --git a/src/org/redkale/net/sncp/SncpContext.java b/src/org/redkale/net/sncp/SncpContext.java index c6bc34d84..a239d33a7 100644 --- a/src/org/redkale/net/sncp/SncpContext.java +++ b/src/org/redkale/net/sncp/SncpContext.java @@ -8,7 +8,7 @@ package org.redkale.net.sncp; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.charset.Charset; -import java.util.concurrent.ExecutorService; +import java.util.concurrent.ThreadPoolExecutor; import java.util.logging.Logger; import org.redkale.net.*; import org.redkale.util.ObjectPool; @@ -21,7 +21,7 @@ import org.redkale.util.ObjectPool; */ public class SncpContext extends Context { - public SncpContext(long serverStartTime, Logger logger, ExecutorService executor, int bufferCapacity, ObjectPool bufferPool, + public SncpContext(long serverStartTime, Logger logger, ThreadPoolExecutor executor, int bufferCapacity, ObjectPool bufferPool, ObjectPool responsePool, int maxbody, Charset charset, InetSocketAddress address, PrepareServlet prepare, int readTimeoutSecond, int writeTimeoutSecond) { super(serverStartTime, logger, executor, bufferCapacity, bufferPool, responsePool, maxbody, charset,