summaryrefslogtreecommitdiffstats
path: root/container-disc/src
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-05-30 11:39:26 +0200
committerJon Bratseth <bratseth@oath.com>2018-05-30 11:39:26 +0200
commit4919fb84be7edc03f7c7feb0080ff0c5f705f654 (patch)
tree4eb3d1a1032c6a329b05acc05af4acc4eb0594e8 /container-disc/src
parent9bfecc00be5716933ec305aa9161f68c4dca4200 (diff)
Run reconfigurer thread even when restartOnRedeploy is true
Diffstat (limited to 'container-disc/src')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java
index 1977b934253..d42afadfd9b 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java
@@ -128,7 +128,7 @@ public final class ConfiguredApplication implements Application {
configureComponents(builder.guiceModules().activate());
intitializeAndActivateContainer(builder);
- if (! qrConfig.restartOnDeploy()) startReconfigurerThread();
+ startReconfigurerThread();
portWatcher = new Thread(this::watchPortChange);
portWatcher.setDaemon(true);
portWatcher.start();
@@ -199,8 +199,12 @@ public final class ConfiguredApplication implements Application {
while ( ! Thread.interrupted()) {
try {
ContainerBuilder builder = createBuilderWithGuiceBindings();
- configurer.runOnceAndEnsureRegistryHackRun(builder.guiceModules().activate());
- intitializeAndActivateContainer(builder);
+
+ // Block until new config:
+ boolean gotNewConfigToApply = configurer.getNewConfigGraph(builder.guiceModules().activate(),
+ qrConfig.restartOnDeploy());
+ if (gotNewConfigToApply)
+ intitializeAndActivateContainer(builder);
} catch (ConfigInterruptedException | InterruptedException e) {
break;
} catch (Exception | LinkageError e) { // LinkageError: OSGi problems