Class TomcatServletWebServerFactory

java.lang.Object
com.bobocode.bring.web.server.TomcatServletWebServerFactory
All Implemented Interfaces:
ServletWebServerFactory

public class TomcatServletWebServerFactory extends Object implements ServletWebServerFactory
ServletWebServerFactory implementation for Apache Tomcat. This factory creates and configures an embedded Tomcat web server instance.

The factory allows customization of the server's port, context path, base directory, and other Tomcat-specific settings. It implements the ServletWebServerFactory interface, providing a getWebServer method to create and return a TomcatWebServer.

Since:
1.0
Author:
Blyzhnytsia Team
See Also:
  • Field Details

    • port

      private int port
    • contextPath

      private String contextPath
    • baseDirectory

      private File baseDirectory
    • context

      private org.apache.catalina.Context context
    • tomcatAppLifecycleListener

      private org.apache.catalina.LifecycleListener tomcatAppLifecycleListener
  • Constructor Details

    • TomcatServletWebServerFactory

      public TomcatServletWebServerFactory()
    • TomcatServletWebServerFactory

      public TomcatServletWebServerFactory(int port)
    • TomcatServletWebServerFactory

      public TomcatServletWebServerFactory(int port, String contextPath)
  • Method Details

    • getWebServer

      public WebServer getWebServer()
      Returns a new instance of TomcatWebServer configured based on the factory's settings.
      Specified by:
      getWebServer in interface ServletWebServerFactory
      Returns:
      a configured instance of TomcatWebServer
      See Also:
    • setBaseDirectory

      public void setBaseDirectory(File baseDirectory)
      Sets the base directory for the embedded Tomcat server.
      Parameters:
      baseDirectory - the base directory for the server to use
    • setPort

      public void setPort(int port)
      Sets the port number for the embedded Tomcat server.
      Parameters:
      port - the port number for the server to use
    • getContextPath

      public String getContextPath()
      Returns the context path for the embedded Tomcat server.
      Specified by:
      getContextPath in interface ServletWebServerFactory
      Returns:
      the context path (default is an empty string)
    • getContext

      public org.apache.catalina.Context getContext()
      Returns the Context object associated with the embedded Tomcat server.
      Specified by:
      getContext in interface ServletWebServerFactory
      Returns:
      the Tomcat Context object
      See Also:
      • Context
    • createTempDir

      protected final File createTempDir(String prefix)
      Creates a temporary directory for Tomcat to use.
      Parameters:
      prefix - a prefix to be used in the name of the directory
      Returns:
      a File representing the created temporary directory
      Throws:
      WebServerException - if the temporary directory cannot be created