diff options
author | gjoranv <gv@verizonmedia.com> | 2021-12-16 13:01:59 +0100 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2021-12-16 23:48:58 +0100 |
commit | 7f618cd283ff6a9c954abef6ff786cf9b3609141 (patch) | |
tree | 5279be1b6e9ad1867fbbcab3e178da5066f2a373 /container-core | |
parent | 69cc74e83ab403bcbb17e2cf1816f6b85e7d3f96 (diff) |
Put back Context class to LoggingRequestHandler
- Necessary for backwards binary compatibility for bundles built
with older Vespa versions.
- Will shade the one in ThreadedHttpRequestHandler.
- Use a diferent name for the static test util function to avoid
name collision.
- Add both Context types to the component graph until Vespa 8.
Diffstat (limited to 'container-core')
3 files changed, 62 insertions, 12 deletions
diff --git a/container-core/abi-spec.json b/container-core/abi-spec.json index 194aa9ad0e4..174febca9df 100644 --- a/container-core/abi-spec.json +++ b/container-core/abi-spec.json @@ -725,6 +725,22 @@ ], "fields": [] }, + "com.yahoo.container.jdisc.LoggingRequestHandler$Context": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>(java.util.concurrent.Executor, com.yahoo.container.logging.AccessLog, com.yahoo.jdisc.Metric)", + "public void <init>(java.util.concurrent.Executor, com.yahoo.jdisc.Metric)", + "public void <init>(com.yahoo.container.jdisc.LoggingRequestHandler$Context)", + "public java.util.concurrent.Executor getExecutor()", + "public com.yahoo.container.logging.AccessLog getAccessLog()", + "public com.yahoo.jdisc.Metric getMetric()" + ], + "fields": [] + }, "com.yahoo.container.jdisc.LoggingRequestHandler": { "superClass": "com.yahoo.container.jdisc.ThreadedHttpRequestHandler", "interfaces": [], @@ -733,10 +749,11 @@ "abstract" ], "methods": [ - "public void <init>(com.yahoo.container.jdisc.ThreadedHttpRequestHandler$Context)", + "public static com.yahoo.container.jdisc.LoggingRequestHandler$Context testOnlyContext()", + "public void <init>(com.yahoo.container.jdisc.LoggingRequestHandler$Context)", "public void <init>(java.util.concurrent.Executor, com.yahoo.container.logging.AccessLog)", "public void <init>(java.util.concurrent.Executor)", - "public void <init>(com.yahoo.container.jdisc.ThreadedHttpRequestHandler$Context, boolean)", + "public void <init>(com.yahoo.container.jdisc.LoggingRequestHandler$Context, boolean)", "public void <init>(java.util.concurrent.Executor, com.yahoo.jdisc.Metric)", "public void <init>(java.util.concurrent.Executor, com.yahoo.container.logging.AccessLog, com.yahoo.jdisc.Metric)", "public void <init>(java.util.concurrent.Executor, com.yahoo.container.logging.AccessLog, com.yahoo.jdisc.Metric, boolean)", @@ -910,7 +927,7 @@ "protected void addDateHeader(com.yahoo.container.jdisc.HttpResponse, long)", "protected com.yahoo.container.jdisc.LoggingCompletionHandler createLoggingCompletionHandler(long, long, com.yahoo.container.jdisc.HttpResponse, com.yahoo.container.jdisc.HttpRequest, com.yahoo.container.jdisc.ContentChannelOutputStream)", "protected com.yahoo.jdisc.http.HttpRequest asHttpRequest(com.yahoo.jdisc.Request)", - "public static com.yahoo.container.jdisc.ThreadedHttpRequestHandler$Context testOnlyContext()" + "public static com.yahoo.container.jdisc.ThreadedHttpRequestHandler$Context testContext()" ], "fields": [ "public static final java.lang.String CONTENT_TYPE", diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java index ed884d104ed..b6e370dd911 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java @@ -29,6 +29,46 @@ import java.util.logging.Level; // TODO Vespa 8: Remove deprecated constructors public abstract class LoggingRequestHandler extends ThreadedHttpRequestHandler { + // TODO: Deprecate + public static class Context { + + final Executor executor; + final Metric metric; + + /** @deprecated Use {@link #Context(Executor, Metric)} instead */ + @Deprecated(forRemoval = true, since = "7") + public Context(Executor executor, AccessLog ignored, Metric metric) { + this(executor, metric); + } + + @Inject + public Context(Executor executor, Metric metric) { + this.executor = executor; + this.metric = metric; + } + + public Context(Context other) { + this.executor = other.executor; + this.metric = other.metric; + } + + public Executor getExecutor() { return executor; } + @Deprecated(forRemoval = true, since = "7") public AccessLog getAccessLog() { return null; } + public Metric getMetric() { return metric; } + + } + + // TODO: Deprecate + public static Context testOnlyContext() { + return new Context(new Executor() { + @Override + public void execute(Runnable command) { + command.run(); + } + }, + null); + } + @Inject public LoggingRequestHandler(Context ctx) { this(ctx.executor, ctx.metric); diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java index 3cd20f64ca1..722f1850013 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java @@ -255,15 +255,8 @@ public abstract class ThreadedHttpRequestHandler extends ThreadedRequestHandler return (com.yahoo.jdisc.http.HttpRequest) request; } - - public static Context testOnlyContext() { - return new Context(new Executor() { - @Override - public void execute(Runnable command) { - command.run(); - } - }, - null); + public static Context testContext() { + return new Context(Runnable::run, null); } public static class Context { |