aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/container/Container.java
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon@oath.com>2018-12-01 00:47:29 +0100
committerGitHub <noreply@github.com>2018-12-01 00:47:29 +0100
commit8e4eeb40e46f7b2fde27ac82bf14f27be4de6ecb (patch)
treeb7237df951072a75d3d527b757f11e6b08214c3d /container-core/src/main/java/com/yahoo/container/Container.java
parentc0513ac34d2c438e9f97e699659855029e1f06e8 (diff)
Revert "Remove zombie code"
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/Container.java')
-rwxr-xr-xcontainer-core/src/main/java/com/yahoo/container/Container.java30
1 files changed, 26 insertions, 4 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/Container.java b/container-core/src/main/java/com/yahoo/container/Container.java
index c83dd2199ea..f378e7d51bd 100755
--- a/container-core/src/main/java/com/yahoo/container/Container.java
+++ b/container-core/src/main/java/com/yahoo/container/Container.java
@@ -4,6 +4,8 @@ package com.yahoo.container;
import com.yahoo.component.AbstractComponent;
import com.yahoo.component.provider.ComponentRegistry;
import com.yahoo.container.core.config.BundleLoader;
+import com.yahoo.container.osgi.AbstractRpcAdaptor;
+import com.yahoo.container.osgi.ContainerRpcAdaptor;
import com.yahoo.filedistribution.fileacquirer.FileAcquirer;
import com.yahoo.filedistribution.fileacquirer.FileAcquirerFactory;
import com.yahoo.jdisc.handler.RequestHandler;
@@ -31,23 +33,35 @@ public class Container {
private volatile ComponentRegistry<ServerProvider> serverProviderRegistry;
private volatile ComponentRegistry<AbstractComponent> componentRegistry;
private volatile FileAcquirer fileAcquirer;
+ private Osgi osgi;
+
+ private final ContainerRpcAdaptor rpcAdaptor = new ContainerRpcAdaptor(osgi);
private volatile BundleLoader bundleLoader;
private static Logger logger = Logger.getLogger(Container.class.getName());
- // TODO: Make this final again.
+ //TODO: Make this final again.
private static Container instance = new Container();
public static Container get() { return instance; }
public void setOsgi(Osgi osgi) {
+ this.osgi = osgi;
bundleLoader = new BundleLoader(osgi);
}
public void shutdown() {
+ com.yahoo.container.Server.get().shutdown();
if (fileAcquirer != null)
fileAcquirer.shutdown();
+
+ rpcAdaptor.shutdown();
+ }
+
+ /** Returns the rpc adaptor owned by this */
+ public ContainerRpcAdaptor getRpcAdaptor() {
+ return rpcAdaptor;
}
//Used to acquire files originating from the application package.
@@ -61,13 +75,22 @@ public class Container {
return bundleLoader;
}
- /**
- * Hack. For internal use only, will be removed later
+ /** Hack. For internal use only, will be removed later
*
* Used by Application to be able to repeatedly set up containers.
**/
public static void resetInstance() {
instance = new Container();
+ com.yahoo.container.Server.resetInstance();
+ }
+
+ /**
+ * Add an application specific RPC adaptor.
+ *
+ * @param adaptor the RPC adaptor to add to the Container
+ */
+ public void addOptionalRpcAdaptor(AbstractRpcAdaptor adaptor) {
+ rpcAdaptor.bindRpcAdaptor(adaptor);
}
public ComponentRegistry<RequestHandler> getRequestHandlerRegistry() {
@@ -142,5 +165,4 @@ public class Container {
}
});
}
-
}