Interface WebServer

All Known Implementing Classes:
JettyWebServer, NettyWebServer, TomcatWebServer, UndertowServletWebServer, UndertowWebServer

public interface WebServer
Simple interface that represents a fully configured web server (for example Tomcat, Jetty, Netty). Allows the server to be started and stopped.
Since:
2.0.0
Author:
Phillip Webb, Dave Syer
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Destroys the web server such that it cannot be started again.
    int
    Return the port this server is listening on.
    default void
    Initiates a graceful shutdown of the web server.
    void
    Starts the web server.
    void
    Stops the web server.
  • Method Details

    • start

      void start() throws WebServerException
      Starts the web server. Calling this method on an already started server has no effect.
      Throws:
      WebServerException - if the server cannot be started
    • stop

      void stop() throws WebServerException
      Stops the web server. Calling this method on an already stopped server has no effect.
      Throws:
      WebServerException - if the server cannot be stopped
    • getPort

      int getPort()
      Return the port this server is listening on.
      Returns:
      the port (or -1 if none)
    • shutDownGracefully

      default void shutDownGracefully(GracefulShutdownCallback callback)
      Initiates a graceful shutdown of the web server. Handling of new requests is prevented and the given callback is invoked at the end of the attempt. The attempt can be explicitly ended by invoking stop(). The default implementation invokes the callback immediately with GracefulShutdownResult.IMMEDIATE, i.e. no attempt is made at a graceful shutdown.
      Parameters:
      callback - the callback to invoke when the graceful shutdown completes
      Since:
      2.3.0
    • destroy

      default void destroy()
      Destroys the web server such that it cannot be started again.
      Since:
      3.2.0