Wombat::Server - server class

- NAME
- SYNOPSIS
- DESCRIPTION
- CONSTRUCTOR
- ACCESSOR METHODS
- PUBLIC METHODS
- LIFECYCLE METHODS
- SEE ALSO
- AUTHOR

# NAME

Wombat::Server - server class

# SYNOPSIS

      my $wombat = Wombat::Server();
      $wombat->setHome('/usr/local/wombat');
      $wombat->setConfigFile('conf/server.xml');

      $wombat->start();
      $wombat->await();
      $wombat->stop();

# DESCRIPTION

This class implements a Wombat server. It uses server.xml to configure a container hierarchy and provides methods for starting and stopping the server. It is meant to be used in both standalone and embedded mode, so it does not take care of standard daemon things, like processing command line arguments or setting up signal handlers. Those are the responsibilities of the surrounding environment (eg a control script or mod_perl <Perl> section).

# CONSTRUCTOR

`new()`
  Create and return an instance, initializing fields to default values.

# ACCESSOR METHODS

`getConfigFile()`
  Return the location of the configuration file for this Server. Defaults to server.xml in the conf subdirectory of `getHome()`.

`setConfigFile($configFile)`
  Set the location of the configuration file for this Server. If the specified location is relative, then it will be absolutized using `getHome()`.
  Parameters:
    $configFile
      the location of the configuration file relative to the server's home directory

`getHome()`
  Return the home directory for this Server.

`setHome($home)`
  Set the home directory for this Server.

  Parameters:

  $home
    the server home directory, specified absolutely

  Throws:

  Servlet::Util::IllegalArgumentException
    if the specified directory is not specified absolutely

# PUBLIC METHODS

`await()`
  Direct all defined Services to begin listening for requests. Depending on Connector implementations, this method may return immediately (for Connectors that execute asynchrously, eg Apache) or may block (eg Http Connector).

`addService($service)`
  Add a new Service to the set of defined Services.

  Parameters:

  $service
    the Wombat::Core::Service to add

`getServices()`
  Return an array containing all defined Services.

`removeService($service)`
  Remove a Service from the set of defined Services.

  Parameters:

  $service
    the Wombat::Core::Service to remove

# LIFECYCLE METHODS

`start()`
  Prepare for active use of this component. This method should be called before any of the public methods of the component are utilized.

  Throws:

  Wombat::LifecycleException
    if the component has already been started

  Wombat::XmlException
    if a problem occurs while parsing a config file

  Wombat::ConfigException
    if a validity error is detected in a config file

  Servlet::Util::IOException
    if an input or output error occurs

`stop()`
  Gracefully terminate active use of this component. Once this method has been called, no public methods of the component should be utilized.

  Throws:

  Wombat::LifecycleException
    if the component is not started

# SEE ALSO

# AUTHOR

Brian Moseley, bcm@maz.org