Class StandardService

  • All Implemented Interfaces:
    Lifecycle, Service
    Direct Known Subclasses:
    Embedded

    public class StandardService
    extends Object
    implements Lifecycle, Service
    Standard implementation of the Service interface. The associated Container is generally an instance of Engine, but this is not required.
    Author:
    Craig R. McClanahan
    • Field Detail

      • debug

        protected int debug
        The debugging detail level for this component.
      • connectors

        protected Connector[] connectors
        The set of Connectors associated with this Service.
      • connectorsMonitor

        protected final Object connectorsMonitor
      • container

        protected Container container
        The Container associated with this Service. (In the case of the org.apache.catalina.startup.Embedded subclass, this holds the most recently added Engine.)
      • initialized

        protected boolean initialized
        Has this component been initialized?
      • domain

        protected String domain
    • Constructor Detail

      • StandardService

        public StandardService()
        Construct a default instance of this class.
    • Method Detail

      • getContainer

        public Container getContainer()
        Return the Container that handles requests for all Connectors associated with this Service.
        Specified by:
        getContainer in interface Service
      • setContainer

        public void setContainer​(Container container)
        Set the Container that handles requests for all Connectors associated with this Service.
        Specified by:
        setContainer in interface Service
        Parameters:
        container - The new Container
      • getContainerName

        public ObjectName getContainerName()
      • getDebug

        public int getDebug()
        Return the debugging detail level of this component.
      • setDebug

        public void setDebug​(int debug)
        Set the debugging detail level of this component.
        Parameters:
        debug - The new debugging detail level
      • getInfo

        public String getInfo()
        Return descriptive information about this Service implementation and the corresponding version number, in the format <description>/<version>.
        Specified by:
        getInfo in interface Service
      • getName

        public String getName()
        Return the name of this Service.
        Specified by:
        getName in interface Service
      • setName

        public void setName​(String name)
        Set the name of this Service.
        Specified by:
        setName in interface Service
        Parameters:
        name - The new service name
      • getServer

        public Server getServer()
        Return the Server with which we are associated (if any).
        Specified by:
        getServer in interface Service
      • setServer

        public void setServer​(Server server)
        Set the Server with which we are associated (if any).
        Specified by:
        setServer in interface Service
        Parameters:
        server - The server that owns this Service
      • setBroadcaster

        public void setBroadcaster​(NotificationBroadcasterSupport broadcaster)
        Set the NotificationBroadcasterSupport that sends notification for this Service
        Specified by:
        setBroadcaster in interface Service
        Parameters:
        broadcaster - The new NotificationBroadcasterSupport
      • addConnector

        public void addConnector​(Connector connector)
        Add a new Connector to the set of defined Connectors, and associate it with this Service's Container.
        Specified by:
        addConnector in interface Service
        Parameters:
        connector - The Connector to be added
      • getConnectorNames

        public ObjectName[] getConnectorNames()
      • addPropertyChangeListener

        public void addPropertyChangeListener​(PropertyChangeListener listener)
        Add a property change listener to this component.
        Parameters:
        listener - The listener to add
      • findConnectors

        public Connector[] findConnectors()
        Find and return the set of Connectors associated with this Service.
        Specified by:
        findConnectors in interface Service
      • findConnector

        public Connector findConnector​(String name)
        Find and return the Connector associated with this Service and Connector name.
      • removeConnector

        public void removeConnector​(Connector connector)
                             throws LifecycleException
        Remove the specified Connector from the set associated from this Service. The removed Connector will also be disassociated from our Container.
        Specified by:
        removeConnector in interface Service
        Parameters:
        connector - The Connector to be removed
        Throws:
        LifecycleException
      • removePropertyChangeListener

        public void removePropertyChangeListener​(PropertyChangeListener listener)
        Remove a property change listener from this component.
        Parameters:
        listener - The listener to remove
      • toString

        public String toString()
        Return a String representation of this component.
        Overrides:
        toString in class Object
      • addLifecycleListener

        public void addLifecycleListener​(LifecycleListener listener)
        Add a LifecycleEvent listener to this component.
        Specified by:
        addLifecycleListener in interface Lifecycle
        Parameters:
        listener - The listener to add
      • removeLifecycleListener

        public void removeLifecycleListener​(LifecycleListener listener)
        Remove a LifecycleEvent listener from this component.
        Specified by:
        removeLifecycleListener in interface Lifecycle
        Parameters:
        listener - The listener to remove
      • start

        public void start()
                   throws LifecycleException
        Prepare for the beginning of active use of the public methods of this component. This method should be called before any of the public methods of this component are utilized. It should also send a LifecycleEvent of type START_EVENT to any registered listeners.
        Specified by:
        start in interface Lifecycle
        Throws:
        LifecycleException - if this component detects a fatal error that prevents this component from being used
      • stop

        public void stop()
                  throws LifecycleException
        Gracefully terminate the active use of the public methods of this component. This method should be the last one called on a given instance of this component. It should also send a LifecycleEvent of type STOP_EVENT to any registered listeners.
        Specified by:
        stop in interface Lifecycle
        Throws:
        LifecycleException - if this component detects a fatal error that needs to be reported
      • initialize

        public void initialize()
                        throws LifecycleException
        Invoke a pre-startup initialization. This is used to allow connectors to bind to restricted ports under Unix operating environments.
        Specified by:
        initialize in interface Service
        Throws:
        LifecycleException - If this server was already initialized.
      • init

        public void init()
      • getObjectName

        public ObjectName getObjectName()
      • getDomain

        public String getDomain()