Repository: reef Updated Branches: refs/heads/master a59070fa0 -> e6ba12a08
[REEF-1529] Fixing reef-webserver for multi runtime This addressed the issue by * Making the http-server available to the actual rutnimes hosted by the RuntimesHost * Fixing style issues and logging exception JIRA: [REEF-1529](https://issues.apache.org/jira/browse/REEF-1529) close Pull Request: Closes #1100 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/e6ba12a0 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/e6ba12a0 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/e6ba12a0 Branch: refs/heads/master Commit: e6ba12a08e18dc7fa9027f51bdd40e3bab4d63ed Parents: a59070f Author: Boris Shulman <[email protected]> Authored: Thu Aug 18 15:35:34 2016 -0700 Committer: Sergiy Matusevych <[email protected]> Committed: Thu Aug 18 18:17:55 2016 -0700 ---------------------------------------------------------------------- .../reef/runtime/multi/driver/RuntimesHost.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/e6ba12a0/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java index bfbc037..62646d2 100644 --- a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java +++ b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java @@ -40,16 +40,20 @@ import org.apache.reef.tang.formats.AvroConfigurationSerializer; import org.apache.reef.wake.EventHandler; import org.apache.reef.wake.time.runtime.event.RuntimeStart; import org.apache.reef.wake.time.runtime.event.RuntimeStop; +import org.apache.reef.webserver.HttpServer; import javax.inject.Inject; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Hosts the actual runtime implementations and delegates invocations to them. */ final class RuntimesHost { + private static final Logger LOG = Logger.getLogger(RuntimesHost.class.getName()); private final AvroMultiRuntimeDefinition runtimeDefinition; private final Injector originalInjector; private final String defaultRuntimeName; @@ -127,12 +131,23 @@ final class RuntimesHost { runtimeInjector.bindVolatileParameter( RuntimeParameters.RuntimeStatusHandler.class, runtimeStatusEventHandler); + HttpServer httpServer = null; + try { + httpServer = this.originalInjector.getInstance(HttpServer.class); + } catch (final InjectionException e) { + LOG.log(Level.INFO, "Http Server is not configured for the runtime", e); + } + + if (httpServer != null) { + runtimeInjector.bindVolatileInstance(HttpServer.class, httpServer); + LOG.log(Level.INFO, "Binding http server for the runtime implementation"); + } } /** * Retrieves requested runtime, if requested name is empty a default runtime will be used. * @param requestedRuntimeName the requested runtime name - * @return + * @return The runtime */ private Runtime getRuntime(final String requestedRuntimeName) { String runtimeName = requestedRuntimeName;
