## org.apache.catalina.core
Class StandardService

    java.lang.Object
      org.apache.catalina.core.StandardService

All Implemented Interfaces:
  Lifecycle, javax.management.MBeanRegistration, Service

Direct Known Subclasses:
  Embedded

public class StandardService
extends java.lang.Object
implements Lifecycle, Service, javax.management.MBeanRegistration

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 Summary
`protected Connector[]` `connectors` The set of Connectors associated with this Service.
`protected Container` `container` The Container associated with this Service.
`protected javax.management.ObjectName` `controller`
`protected int` `debug` The debugging detail level for this component.
`protected java.lang.String` `domain`
`protected boolean` `initialized` Has this component been initialized?
`protected javax.management.MBeanServer` `mserver`
`protected javax.management.ObjectName` `oname`
`protected java.lang.String` `suffix`
`protected java.beans.PropertyChangeSupport` `support` The property change support for this component.
`protected java.lang.String` `type`

Fields inherited from interface org.apache.catalina.Lifecycle
`AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, START_EVENT, STOP_EVENT`

Constructor Summary
`StandardService()`

Method Summary
`void` `addConnector(Connector connector)` Add a new Connector to the set of defined Connectors, and associate it with this Service's Container.
`void` `addLifecycleListener(LifecycleListener listener)` Add a LifecycleEvent listener to this component.
`void` `addPropertyChangeListener(java.beans.PropertyChangeListener listener)` Add a property change listener to this component.
`void` `destroy()`
`Connector[]` `findConnectors()` Find and return the set of Connectors associated with this Service.
`LifecycleListener[]` `findLifecycleListeners()` Get the lifecycle listeners associated with this lifecycle.
`javax.management.ObjectName[]` `getConnectorNames()`
`Container` `getContainer()` Return the `Container` that handles requests for all `Connectors` associated with this Service.
`javax.management.ObjectName` `getContainerName()`
`int` `getDebug()` Return the debugging detail level of this component.
`java.lang.String` `getDomain()`
`java.lang.String` `getInfo()` Return descriptive information about this Service implementation and the corresponding version number, in the format `<description>/<version>`.
`java.lang.String` `getName()` Return the name of this Service.
`javax.management.ObjectName` `getObjectName()`
`Server` `getServer()` Return the `Server` with which we are associated (if any).
`void` `init()`
`void` `initialize()` Invoke a pre-startup initialization.
`void` `postDeregister()`
`void` `postRegister(java.lang.Boolean registrationDone)`
`void` `preDeregister()`
`javax.management.ObjectName` `preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)`
`void` `removeConnector(Connector connector)` Remove the specified Connector from the set associated from this Service.
`void` `removeLifecycleListener(LifecycleListener listener)` Remove a LifecycleEvent listener from this component.
`void` `removePropertyChangeListener(java.beans.PropertyChangeListener listener)` Remove a property change listener from this component.
`void` `setContainer(Container container)` Set the `Container` that handles requests for all `Connectors` associated with this Service.
`void` `setDebug(int debug)` Set the debugging detail level of this component.
`void` `setName(java.lang.String name)` Set the name of this Service.
`void` `setServer(Server server)` Set the `Server` with which we are associated (if any).
`void` `start()` Prepare for the beginning of active use of the public methods of this component.
`void` `stop()` Gracefully terminate the active use of the public methods of this component.
`java.lang.String` `toString()` Return a String representation of this component.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### debug

    protected int debug

  The debugging detail level for this component.

### support

    protected java.beans.PropertyChangeSupport support

  The property change support for this component.

### connectors

    protected Connector[] connectors

  The set of Connectors associated with this Service.

### 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?

### type

    protected java.lang.String type

### domain

    protected java.lang.String domain

### suffix

    protected java.lang.String suffix

### oname

    protected javax.management.ObjectName oname

### controller

    protected javax.management.ObjectName controller

### mserver

    protected javax.management.MBeanServer mserver

Constructor Detail

### StandardService

    public StandardService()

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 javax.management.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 java.lang.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 java.lang.String getName()

  Return the name of this Service.

  Specified by:
    `getName` in interface `Service`

### setName

    public void setName(java.lang.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

### 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 javax.management.ObjectName[] getConnectorNames()

### addPropertyChangeListener

    public void addPropertyChangeListener(java.beans.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`

### removeConnector

    public void removeConnector(Connector connector)

  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

### removePropertyChangeListener

    public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)

  Remove a property change listener from this component.

  Parameters:
    `listener` - The listener to remove

### toString

    public java.lang.String toString()

  Return a String representation of this component.

### 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

### findLifecycleListeners

    public LifecycleListener[] findLifecycleListeners()

  Get the lifecycle listeners associated with this lifecycle. If this Lifecycle has no listeners registered, a zero-length array is returned.

  Specified by:
    `findLifecycleListeners` in interface `Lifecycle`

### 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.

### destroy

    public void destroy()
                 throws LifecycleException

  Throws:
    `LifecycleException`

### init

    public void init()

### getObjectName

    public javax.management.ObjectName getObjectName()

### getDomain

    public java.lang.String getDomain()

### preRegister

    public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                                   javax.management.ObjectName name)
                                            throws java.lang.Exception

  Specified by:
    `preRegister` in interface `javax.management.MBeanRegistration`
  Throws:
    `java.lang.Exception`

### postRegister

    public void postRegister(java.lang.Boolean registrationDone)

  Specified by:
    `postRegister` in interface `javax.management.MBeanRegistration`

### preDeregister

    public void preDeregister()
                       throws java.lang.Exception

  Specified by:
    `preDeregister` in interface `javax.management.MBeanRegistration`
  Throws:
    `java.lang.Exception`

### postDeregister

    public void postDeregister()

  Specified by:
    `postDeregister` in interface `javax.management.MBeanRegistration`

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.