aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java
Publish
Diffstat (limited to 'container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java
new file mode 100644
index 00000000000..0311eedd726
--- /dev/null
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ContainerDiscApplication.java
@@ -0,0 +1,51 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.container.jdisc;
+
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.yahoo.container.QrConfig;
+import com.yahoo.container.Server;
+import com.yahoo.container.jdisc.messagebus.SessionCache;
+import com.yahoo.jrt.ListenFailedException;
+import com.yahoo.log.LogLevel;
+
+import java.util.logging.Logger;
+
+
+/**
+ * The application which sets up the jDisc container
+ *
+ * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
+ */
+public class ContainerDiscApplication {
+
+ private static final Logger log = Logger.getLogger(ContainerDiscApplication.class.getName());
+
+ private SessionCache sessionCache;
+
+
+ @Inject
+ public ContainerDiscApplication(String configId) throws ListenFailedException {
+ sessionCache = new SessionCache(configId);
+ }
+
+ AbstractModule getMbusBindings() {
+ return new AbstractModule() {
+ @Override
+ protected void configure() {
+ bind(SessionCache.class).toInstance(sessionCache);
+ }
+ };
+ }
+
+ public 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);
+ }
+ }
+
+}