org.apache.catalina.startup

## Class Catalina

- java.lang.Object
- - org.apache.catalina.startup.Catalina

    public class Catalina
    extends Object

Startup/Shutdown shell program for Catalina. The following command line options are recognized:

- -config {pathname} - Set the pathname of the configuration file to be processed. If a relative path is specified, it will be interpreted as relative to the directory pathname specified by the "catalina.base" system property. [conf/server.xml]
- -help - Display usage information.
- -nonaming - Disable naming support.
- configtest - Try to test the config
- start - Start an instance of Catalina.
- stop - Stop the currently running instance of Catalina. Should do the same thing as Embedded, but using a server.xml file.

Author:
  Craig R. McClanahan, Remy Maucherat

### Nested Class Summary

Nested Classes
`protected class` `Catalina.CatalinaShutdownHook` Shutdown hook which will perform a clean shutdown of Catalina if needed.

### Field Summary

Fields
`protected boolean` `await` Use await.
`protected String` `configFile` Pathname to the server configuration file.
`protected ClassLoader` `parentClassLoader` The shared extensions class loader for this server.
`protected Server` `server` The server component we are starting or stopping.
`protected Thread` `shutdownHook` Shutdown hook.
`protected static StringManager` `sm` The string manager for this package.
`protected boolean` `starting` Deprecated. Unused - will be removed in Tomcat 8.0.x
`protected boolean` `stopping` Deprecated. Unused - will be removed in Tomcat 8.0.x
`protected boolean` `useNaming` Is naming enabled ?
`protected boolean` `useShutdownHook` Use shutdown hook flag.

### Constructor Summary

Constructors
Constructor and Description
`Catalina()`

### Method Summary

Methods
`protected boolean` `arguments(String[] args)` Process the specified command line arguments, and return `true` if we should continue processing; otherwise return `false`.
`void` `await()` Await and shutdown.
`protected File` `configFile()` Return a File object representing our configuration file.
`protected Digester` `createStartDigester()` Create and configure the Digester we will be using for startup.
`protected Digester` `createStopDigester()` Create and configure the Digester we will be using for shutdown.
`String` `getConfigFile()`
`ClassLoader` `getParentClassLoader()`
`Server` `getServer()`
`boolean` `getUseShutdownHook()`
`protected void` `initDirs()`
`protected void` `initNaming()`
`protected void` `initStreams()`
`boolean` `isAwait()`
`boolean` `isUseNaming()` Return true if naming is enabled.
`void` `load()` Start a new server instance.
`void` `load(String[] args)`
`void` `setAwait(boolean b)`
`void` `setConfig(String file)` Deprecated. Use `setConfigFile(String)`
`void` `setConfigFile(String file)`
`void` `setParentClassLoader(ClassLoader parentClassLoader)` Set the shared extensions class loader.
`protected void` `setSecurityProtection()` Set the security package access/protection.
`void` `setServer(Server server)`
`void` `setUseNaming(boolean useNaming)` Enables or disables naming support.
`void` `setUseShutdownHook(boolean useShutdownHook)`
`void` `start()` Start a new server instance.
`void` `stop()` Stop an existing server instance.
`void` `stopServer()`
`void` `stopServer(String[] arguments)`
`protected void` `usage()` Print usage information for this application.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### sm

    protected static final StringManager sm

The string manager for this package.

#### await

    protected boolean await

Use await.

#### configFile

    protected String configFile

Pathname to the server configuration file.

#### parentClassLoader

    protected ClassLoader parentClassLoader

The shared extensions class loader for this server.

#### server

    protected Server server

The server component we are starting or stopping.

#### starting

    @Deprecated
    protected boolean starting

Deprecated. Unused - will be removed in Tomcat 8.0.x
Are we starting a new server?

#### stopping

    @Deprecated
    protected boolean stopping

Deprecated. Unused - will be removed in Tomcat 8.0.x
Are we stopping an existing server?

#### useShutdownHook

    protected boolean useShutdownHook

Use shutdown hook flag.

#### shutdownHook

    protected Thread shutdownHook

Shutdown hook.

#### useNaming

    protected boolean useNaming

Is naming enabled ?

### Constructor Detail

#### Catalina

    public Catalina()

### Method Detail

#### setConfig

    @Deprecated
    public void setConfig(String file)

Deprecated. Use `setConfigFile(String)`

#### setConfigFile

    public void setConfigFile(String file)

#### getConfigFile

    public String getConfigFile()

#### setUseShutdownHook

    public void setUseShutdownHook(boolean useShutdownHook)

#### getUseShutdownHook

    public boolean getUseShutdownHook()

#### setParentClassLoader

    public void setParentClassLoader(ClassLoader parentClassLoader)

Set the shared extensions class loader.

Parameters:
  `parentClassLoader` - The shared extensions class loader.

#### getParentClassLoader

    public ClassLoader getParentClassLoader()

#### setServer

    public void setServer(Server server)

#### getServer

    public Server getServer()

#### isUseNaming

    public boolean isUseNaming()

Return true if naming is enabled.

#### setUseNaming

    public void setUseNaming(boolean useNaming)

Enables or disables naming support.

Parameters:
  `useNaming` - The new use naming value

#### setAwait

    public void setAwait(boolean b)

#### isAwait

    public boolean isAwait()

#### arguments

    protected boolean arguments(String[] args)

Process the specified command line arguments, and return `true` if we should continue processing; otherwise return `false`.

Parameters:
  `args` - Command line arguments to process

#### configFile

    protected File configFile()

Return a File object representing our configuration file.

#### createStartDigester

    protected Digester createStartDigester()

Create and configure the Digester we will be using for startup.

#### createStopDigester

    protected Digester createStopDigester()

Create and configure the Digester we will be using for shutdown.

#### stopServer

    public void stopServer()

#### stopServer

    public void stopServer(String[] arguments)

#### load

    public void load()

Start a new server instance.

#### load

    public void load(String[] args)

#### start

    public void start()

Start a new server instance.

#### stop

    public void stop()

Stop an existing server instance.

#### await

    public void await()

Await and shutdown.

#### usage

    protected void usage()

Print usage information for this application.

#### initDirs

    protected void initDirs()

#### initStreams

    protected void initStreams()

#### initNaming

    protected void initNaming()

#### setSecurityProtection

    protected void setSecurityProtection()

Set the security package access/protection.