Class StandardEngine

  • All Implemented Interfaces:
    MBeanRegistration, Container, Engine, JmxEnabled, Lifecycle

    public class StandardEngine
    extends ContainerBase
    implements Engine
    Standard implementation of the Engine interface. Each child container must be a Host implementation to process the specific fully qualified host name of that virtual host.
    You can set the jvmRoute direct or with the System.property jvmRoute.
    Author:
    Craig R. McClanahan
    • Constructor Detail

      • StandardEngine

        public StandardEngine()
        Create a new StandardEngine component with the default basic Valve.
    • Method Detail

      • getRealm

        public Realm getRealm()
        Obtain the configured Realm and provide a default Realm implementation when no explicit configuration is set.
        Specified by:
        getRealm in interface Container
        Overrides:
        getRealm in class ContainerBase
        Returns:
        configured realm, or a NullRealm by default
      • getDefaultHost

        public String getDefaultHost()
        Return the default host.
        Specified by:
        getDefaultHost in interface Engine
        Returns:
        the default host name for this Engine.
      • setDefaultHost

        public void setDefaultHost​(String host)
        Set the default host.
        Specified by:
        setDefaultHost in interface Engine
        Parameters:
        host - The new default host
      • setJvmRoute

        public void setJvmRoute​(String routeId)
        Set the cluster-wide unique identifier for this Engine. This value is only useful in a load-balancing scenario.

        This property should not be changed once it is set.

        Specified by:
        setJvmRoute in interface Engine
        Parameters:
        routeId - the (new) JVM Route ID. Each Engine within a cluster must have a unique JVM Route ID.
      • getJvmRoute

        public String getJvmRoute()
        Retrieve the cluster-wide unique identifier for this Engine. This value is only useful in a load-balancing scenario.
        Specified by:
        getJvmRoute in interface Engine
        Returns:
        the JvmRouteId for this engine.
      • getService

        public Service getService()
        Return the Service with which we are associated (if any).
        Specified by:
        getService in interface Engine
        Returns:
        the Service with which we are associated (if any).
      • setService

        public void setService​(Service service)
        Set the Service with which we are associated (if any).
        Specified by:
        setService in interface Engine
        Parameters:
        service - The service that owns this Engine
      • addChild

        public void addChild​(Container child)
        Add a child Container, only if the proposed child is an implementation of Host.
        Specified by:
        addChild in interface Container
        Overrides:
        addChild in class ContainerBase
        Parameters:
        child - Child container to be added
      • setParent

        public void setParent​(Container container)
        Disallow any attempt to set a parent for this Container, since an Engine is supposed to be at the top of the Container hierarchy.
        Specified by:
        setParent in interface Container
        Overrides:
        setParent in class ContainerBase
        Parameters:
        container - Proposed parent Container
      • logAccess

        public void logAccess​(Request request,
                              Response response,
                              long time,
                              boolean useDefault)
        Override the default implementation. If no access log is defined for the Engine, look for one in the Engine's default host and then the default host's ROOT context. If still none is found, return the default NoOp access log.
        Specified by:
        logAccess in interface Container
        Overrides:
        logAccess in class ContainerBase
        Parameters:
        request - Request (associated with the response) to log
        response - Response (associated with the request) to log
        time - Time taken to process the request/response in milliseconds (use 0 if not known)
        useDefault - Flag that indicates that the request/response should be logged in the engine's default access log
      • getDomainInternal

        protected String getDomainInternal()
        Description copied from class: LifecycleMBeanBase
        Method implemented by sub-classes to identify the domain in which MBeans should be registered.
        Overrides:
        getDomainInternal in class ContainerBase
        Returns:
        The name of the domain to use to register MBeans.