diff options
author | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2016-11-07 15:49:28 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2016-11-07 15:49:28 +0100 |
commit | 329f09d4f2b0fc224813b6b81103f8e06b0f3b54 (patch) | |
tree | f1c934dd0184589bd3fe5595bcf067b106522ba2 /jdisc_http_service/src | |
parent | 42e58c72c3c154e6ac3f482bbfa3a61ed0bf1f25 (diff) |
Use janitor thread pool instead of ad-hoc thread
Diffstat (limited to 'jdisc_http_service/src')
-rw-r--r-- | jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletResponseController.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletResponseController.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletResponseController.java index ef24baa8f01..dbefa4a597e 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletResponseController.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletResponseController.java @@ -19,7 +19,6 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; -import java.util.concurrent.Executors; import java.util.logging.Level; import java.util.logging.Logger; @@ -40,6 +39,7 @@ public class ServletResponseController { //servletResponse must not be modified after the response has been committed. private final HttpServletResponse servletResponse; private final boolean developerMode; + private final Executor executor; //all calls to the servletOutputStreamWriter must hold the monitor first to ensure visibility of servletResponse changes. private final ServletOutputStreamWriter servletOutputStreamWriter; @@ -48,6 +48,7 @@ public class ServletResponseController { private boolean responseCommitted = false; + public ServletResponseController( HttpServletResponse servletResponse, Executor executor, @@ -56,6 +57,7 @@ public class ServletResponseController { this.servletResponse = servletResponse; this.developerMode = developerMode; + this.executor = executor; this.servletOutputStreamWriter = new ServletOutputStreamWriter(servletResponse.getOutputStream(), executor, metricReporter); } @@ -117,7 +119,7 @@ public class ServletResponseController { try { // HttpServletResponse.sendError() is blocking and must not be executed in Jetty/RequestHandler thread. - Executors.newSingleThreadExecutor().execute(() -> { + executor.execute(() -> { try { // TODO We should control the response content this method generates // a response body based on Jetty's own response templates ("Powered by Jetty"). |