Class TomcatWebServer

java.lang.Object
org.springframework.boot.web.embedded.tomcat.TomcatWebServer
All Implemented Interfaces:
WebServer

public class TomcatWebServer extends Object implements WebServer
WebServer that can be used to control a Tomcat web server. Usually this class should be created using the TomcatReactiveWebServerFactory or TomcatServletWebServerFactory, but not directly.
Since:
2.0.0
Author:
Brian Clozel, Kristine Jetzke
  • Constructor Details

    • TomcatWebServer

      public TomcatWebServer(Tomcat tomcat)
      Create a new TomcatWebServer instance.
      Parameters:
      tomcat - the underlying Tomcat server
    • TomcatWebServer

      public TomcatWebServer(Tomcat tomcat, boolean autoStart)
      Create a new TomcatWebServer instance.
      Parameters:
      tomcat - the underlying Tomcat server
      autoStart - if the server should be started
    • TomcatWebServer

      public TomcatWebServer(Tomcat tomcat, boolean autoStart, Shutdown shutdown)
      Create a new TomcatWebServer instance.
      Parameters:
      tomcat - the underlying Tomcat server
      autoStart - if the server should be started
      shutdown - type of shutdown supported by the server
      Since:
      2.3.0
  • Method Details

    • start

      public void start() throws WebServerException
      Description copied from interface: WebServer
      Starts the web server. Calling this method on an already started server has no effect.
      Specified by:
      start in interface WebServer
      Throws:
      WebServerException - if the server cannot be started
    • stop

      public void stop() throws WebServerException
      Description copied from interface: WebServer
      Stops the web server. Calling this method on an already stopped server has no effect.
      Specified by:
      stop in interface WebServer
      Throws:
      WebServerException - if the server cannot be stopped
    • destroy

      public void destroy() throws WebServerException
      Description copied from interface: WebServer
      Destroys the web server such that it cannot be started again.
      Specified by:
      destroy in interface WebServer
      Throws:
      WebServerException
    • getPort

      public int getPort()
      Description copied from interface: WebServer
      Return the port this server is listening on.
      Specified by:
      getPort in interface WebServer
      Returns:
      the port (or -1 if none)
    • getTomcat

      public Tomcat getTomcat()
      Returns access to the underlying Tomcat server.
      Returns:
      the Tomcat server
    • shutDownGracefully

      public void shutDownGracefully(GracefulShutdownCallback callback)
      Initiates a graceful shutdown of the Tomcat 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().

      Once shutdown has been initiated Tomcat will reject any new connections. Requests on existing idle connections will also be rejected.

      Specified by:
      shutDownGracefully in interface WebServer
      Parameters:
      callback - the callback to invoke when the graceful shutdown completes