diff options
author | Frode Lundgren <frodelu@yahooinc.com> | 2021-12-05 19:44:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-05 19:44:19 +0100 |
commit | e69ad799a335618eaf098bcdaab15f16220c78af (patch) | |
tree | 1155e0ab1dcc1b44ed6010065269049359fe5910 /config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java | |
parent | 3ad5494db4fa43e746595ef0005c80454e5b2f6e (diff) | |
parent | 1583971111661c5edb1170309a61c485c102f95b (diff) |
Merge pull request #20366 from vespa-engine/revert-20350-hmusum/config-subscription-refactoring-part-5v7.510.36
Revert "Config subscription refactoring, part 5 [run-systemtest]"
Diffstat (limited to 'config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java')
-rw-r--r-- | config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java b/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java index b407c0e7e76..70ff4456f6c 100644 --- a/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java +++ b/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/Subscriber.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.proxy; +import com.yahoo.config.subscription.ConfigSourceSet; import com.yahoo.config.subscription.impl.GenericConfigHandle; import com.yahoo.config.subscription.impl.GenericConfigSubscriber; import com.yahoo.config.subscription.impl.JRTConfigRequester; @@ -9,6 +10,7 @@ import com.yahoo.vespa.config.RawConfig; import com.yahoo.vespa.config.TimingValues; import com.yahoo.yolean.Exceptions; +import java.util.Map; import java.util.Optional; import java.util.logging.Level; import java.util.logging.Logger; @@ -21,20 +23,22 @@ public class Subscriber { private final static Logger log = Logger.getLogger(Subscriber.class.getName()); private final RawConfig config; + private final ConfigSourceSet configSourceSet; private final TimingValues timingValues; private final GenericConfigSubscriber subscriber; private GenericConfigHandle handle; - Subscriber(RawConfig config, TimingValues timingValues, JRTConfigRequester requester) { + Subscriber(RawConfig config, ConfigSourceSet configSourceSet, TimingValues timingValues, JRTConfigRequester requester) { this.config = config; + this.configSourceSet = configSourceSet; this.timingValues = timingValues; - this.subscriber = new GenericConfigSubscriber(requester); + this.subscriber = new GenericConfigSubscriber(Map.of(configSourceSet, requester)); } void subscribe() { ConfigKey<?> key = config.getKey(); handle = subscriber.subscribe(new ConfigKey<>(key.getName(), key.getConfigId(), key.getNamespace()), - config.getDefContent(), timingValues); + config.getDefContent(), configSourceSet, timingValues); } public Optional<RawConfig> nextGeneration() { @@ -54,8 +58,14 @@ public class Subscriber { return Optional.empty(); } - public void cancel() { subscriber.close(); } + public void cancel() { + if (subscriber != null) { + subscriber.close(); + } + } - boolean isClosed() { return subscriber.isClosed(); } + boolean isClosed() { + return subscriber.isClosed(); + } } |