diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-05-30 11:39:26 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-05-30 11:39:26 +0200 |
commit | 4919fb84be7edc03f7c7feb0080ff0c5f705f654 (patch) | |
tree | 4eb3d1a1032c6a329b05acc05af4acc4eb0594e8 /container-disc/src | |
parent | 9bfecc00be5716933ec305aa9161f68c4dca4200 (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.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 |