Class DeephavenApiServer

java.lang.Object
io.deephaven.server.runner.DeephavenApiServer

public class DeephavenApiServer extends Object
Entrypoint for the Deephaven gRPC server, starting the various engine and script components, running any specified application, and enabling the gRPC endpoints to be accessed by consumers.
  • Constructor Details

    • DeephavenApiServer

      @Inject public DeephavenApiServer(GrpcServer server, @Named("DEFAULT") io.deephaven.engine.updategraph.UpdateGraph ug, javax.inject.Provider<LogInit> logInit, javax.inject.Provider<Set<io.deephaven.time.calendar.BusinessCalendar>> calendars, Scheduler scheduler, javax.inject.Provider<io.deephaven.engine.util.ScriptSession> scriptSessionProvider, PluginRegistration pluginRegistration, ApplicationInjector applicationInjector, io.deephaven.uri.resolver.UriResolvers uriResolvers, SessionService sessionService, Map<String,io.deephaven.auth.AuthenticationRequestHandler> authenticationHandlers, javax.inject.Provider<io.deephaven.engine.context.ExecutionContext> executionContextProvider, ServerConfig serverConfig, SessionFactoryCreator sessionFactoryCreator)
  • Method Details

    • getInstance

      @InternalUseOnly public static DeephavenApiServer getInstance()
    • server

      @VisibleForTesting public GrpcServer server()
    • sessionService

      @VisibleForTesting public SessionService sessionService()
    • run

      Starts the various server components, and returns without blocking. Shutdown is mediated by the ShutdownManager, who will call the gRPC server to shut it down when the process is itself shutting down.
      Throws:
      IOException - thrown in event of an error with logging, finding and running an application, and starting the gRPC service.
      ClassNotFoundException - thrown if a class can't be found while finding and running an application.
      TimeoutException
    • join

      public void join() throws InterruptedException
      Blocks until the server exits.
      Throws:
      InterruptedException - thrown if this thread is interrupted while blocking for the server to halt.
    • getUpdateGraph

      @VisibleForTesting public io.deephaven.engine.updategraph.UpdateGraph getUpdateGraph()
    • sessionFactoryCreator

      @InternalUseOnly @ScriptApi public SessionFactoryCreator sessionFactoryCreator()