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 | 13 |
1 files changed, 12 insertions, 1 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 bf696771b20..d8a1a26f850 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 @@ -11,6 +11,7 @@ import com.yahoo.config.ConfigInstance; import com.yahoo.config.subscription.ConfigInterruptedException; import com.yahoo.container.Container; import com.yahoo.container.QrConfig; +import com.yahoo.container.Server; import com.yahoo.container.core.ChainsConfig; import com.yahoo.container.core.config.HandlersConfigurerDi; import com.yahoo.container.di.config.Subscriber; @@ -121,7 +122,7 @@ public final class ConfiguredApplication implements Application { @Override public void start() { qrConfig = getConfig(QrConfig.class); - ContainerDiscApplication.hackToInitializeServer(qrConfig); + hackToInitializeServer(qrConfig); ContainerBuilder builder = createBuilderWithGuiceBindings(); configureComponents(builder.guiceModules().activate()); @@ -133,6 +134,16 @@ public final class ConfiguredApplication implements Application { portWatcher.start(); } + + private static void hackToInitializeServer(QrConfig config) { + try { + Server.get().initialize(config); + } catch (Exception e) { + log.log(LogLevel.ERROR, "Caught exception when initializing server. Exiting.", e); + Runtime.getRuntime().halt(1); + } + } + private <T extends ConfigInstance> T getConfig(Class<T> configClass) { Subscriber subscriber = subscriberFactory.getSubscriber( Collections.singleton(new ConfigKey<>(configClass, configId))); |