summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2016-11-07 15:49:28 +0100
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2016-11-07 15:49:28 +0100
commit329f09d4f2b0fc224813b6b81103f8e06b0f3b54 (patch)
treef1c934dd0184589bd3fe5595bcf067b106522ba2 /jdisc_http_service/src
parent42e58c72c3c154e6ac3f482bbfa3a61ed0bf1f25 (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.java6
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").