Class AbstractServletServer<T>

java.lang.Object
io.micronaut.servlet.http.server.AbstractServletServer<T>
Type Parameters:
T - The server type
All Implemented Interfaces:
io.micronaut.context.ApplicationContextLifeCycle<io.micronaut.runtime.server.EmbeddedServer>, io.micronaut.context.ApplicationContextProvider, io.micronaut.context.LifeCycle<io.micronaut.runtime.server.EmbeddedServer>, io.micronaut.runtime.EmbeddedApplication<io.micronaut.runtime.server.EmbeddedServer>, io.micronaut.runtime.graceful.GracefulShutdownCapable, io.micronaut.runtime.server.EmbeddedServer, Closeable, AutoCloseable
Direct Known Subclasses:
JettyServer, TomcatServer, UndertowServer

@Internal public abstract class AbstractServletServer<T> extends Object implements io.micronaut.runtime.server.EmbeddedServer, io.micronaut.runtime.graceful.GracefulShutdownCapable
Abstract base class for servlet embedded servers.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AbstractServletServer(io.micronaut.context.ApplicationContext applicationContext, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, @Nullable io.micronaut.context.event.ApplicationEventPublisher<io.micronaut.runtime.server.event.ServerShutdownEvent> serverShutdownEventPublisher, T server)
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    final io.micronaut.runtime.ApplicationConfiguration
     
    final io.micronaut.context.ApplicationContext
     
    final T
     
     
    Shuts the server down gracefully: it stops accepting new requests, then completes once every request that was already in flight has terminated.
    final io.micronaut.runtime.server.EmbeddedServer
     
    protected abstract void
    Start the server.
    final io.micronaut.runtime.server.EmbeddedServer
     
    protected void
    Stops the underlying server accepting new requests while leaving in-flight requests to complete.
    protected abstract void
    Stop the server.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.runtime.EmbeddedApplication

    getEnvironment, isForceExit, isShutdownHookNeeded

    Methods inherited from interface io.micronaut.runtime.server.EmbeddedServer

    getContextURI, getHost, getPort, getScheme, getURI, getURL, isKeepAlive, isServer

    Methods inherited from interface io.micronaut.context.LifeCycle

    close, isRunning, refresh
  • Constructor Details

    • AbstractServletServer

      protected AbstractServletServer(io.micronaut.context.ApplicationContext applicationContext, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, @Nullable io.micronaut.context.event.ApplicationEventPublisher<io.micronaut.runtime.server.event.ServerShutdownEvent> serverShutdownEventPublisher, T server)
      Default constructor.
      Parameters:
      applicationContext - The application context
      applicationConfiguration - The application configuration
      serverShutdownEventPublisher - ApplicationEventPublisher for the ServerShutdownEvent event.
      server - The server object
  • Method Details

    • getServer

      public final T getServer()
      Returns:
      The server object.
    • shutdownGracefully

      public CompletionStage<?> shutdownGracefully()
      Shuts the server down gracefully: it stops accepting new requests, then completes once every request that was already in flight has terminated. Called by the GracefulShutdownManager when micronaut.lifecycle.graceful-shutdown.enabled is set, before the server is stopped.
      Specified by:
      shutdownGracefully in interface io.micronaut.runtime.graceful.GracefulShutdownCapable
      Returns:
      A stage that completes when no request is active
      Since:
      6.2.0
    • reportActiveTasks

      public OptionalLong reportActiveTasks()
      Specified by:
      reportActiveTasks in interface io.micronaut.runtime.graceful.GracefulShutdownCapable
    • stopAcceptingRequests

      protected void stopAcceptingRequests()
      Stops the underlying server accepting new requests while leaving in-flight requests to complete. Each container has its own way of doing this; the default does nothing, and the graceful shutdown then only waits for in-flight requests.
      Since:
      6.2.0
    • getApplicationContext

      public final io.micronaut.context.ApplicationContext getApplicationContext()
      Specified by:
      getApplicationContext in interface io.micronaut.context.ApplicationContextProvider
      Specified by:
      getApplicationContext in interface io.micronaut.runtime.EmbeddedApplication<T>
    • getApplicationConfiguration

      public final io.micronaut.runtime.ApplicationConfiguration getApplicationConfiguration()
      Specified by:
      getApplicationConfiguration in interface io.micronaut.runtime.EmbeddedApplication<T>
    • start

      public final io.micronaut.runtime.server.EmbeddedServer start()
      Specified by:
      start in interface io.micronaut.context.ApplicationContextLifeCycle<T>
      Specified by:
      start in interface io.micronaut.context.LifeCycle<T>
    • stop

      public final io.micronaut.runtime.server.EmbeddedServer stop()
      Specified by:
      stop in interface io.micronaut.context.ApplicationContextLifeCycle<T>
      Specified by:
      stop in interface io.micronaut.context.LifeCycle<T>
    • startServer

      protected abstract void startServer() throws Exception
      Start the server.
      Throws:
      Exception - when an error occurred starting the server
    • stopServer

      protected abstract void stopServer() throws Exception
      Stop the server.
      Throws:
      Exception - when an error occurred stopping the server