diff options
Diffstat (limited to 'container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java | 10 |
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 |