| java.lang.Object org.apache.catalina.startup.Embedded
Embedded | public class Embedded implements Lifecycle(Code) | | Convenience class to embed a Catalina servlet container environment
inside another application. You must call the methods of this class in the
following order to ensure correct operation.
- Instantiate a new instance of this class.
- Set the relevant properties of this object itself. In particular,
you will want to establish the default Logger to be used, as well
as the default Realm if you are using container-managed security.
- Call
createEngine() to create an Engine object, and then
call its property setters as desired.
- Call
createHost() to create at least one virtual Host
associated with the newly created Engine, and then call its property
setters as desired. After you customize this Host, add it to the
corresponding Engine with engine.addChild(host) .
- Call
createContext() to create at least one Context
associated with each newly created Host, and then call its property
setters as desired. You SHOULD create a Context with
a pathname equal to a zero-length string, which will be used to process
all requests not mapped to some other Context. After you customize
this Context, add it to the corresponding Host with
host.addChild(context) .
- Call
addEngine() to attach this Engine to the set of
defined Engines for this object.
- Call
createConnector() to create at least one TCP/IP
connector, and then call its property setters as desired.
- Call
addConnector() to attach this Connector to the set
of defined Connectors for this object. The added Connector will use
the most recently added Engine to process its received requests.
- Repeat the above series of steps as often as required (although there
will typically be only one Engine instance created).
- Call
start() to initiate normal operations of all the
attached components.
After normal operations have begun, you can add and remove Connectors,
Engines, Hosts, and Contexts on the fly. However, once you have removed
a particular component, it must be thrown away -- you can create a new one
with the same characteristics if you merely want to do a restart.
To initiate a normal shutdown, call the stop() method of
this object.
IMPLEMENTATION NOTE: The main() method of
this class is a simple example that exercizes the features of dynamically
starting and stopping various components. You can execute this by executing
the following steps (on a Unix platform):
cd $CATALINA_HOME
./bin/catalina.sh embedded
author: Craig R. McClanahan version: $Revision: 1.16 $ $Date: 2002/06/09 02:19:44 $ |
Field Summary | |
protected Connector | connectors The set of Connectors that have been deployed in this server. | protected int | debug The debugging detail level for this component. | protected Engine | engines The set of Engines that have been deployed in this server. | final protected static String | info Descriptive information about this server implementation. | protected LifecycleSupport | lifecycle The lifecycle event support for this component. | protected Logger | logger The default logger to be used by this component itself. | protected Realm | realm The default realm to be used by all containers associated with
this compoennt. | protected static StringManager | sm The string manager for this package. | protected String | socketFactory The socket factory that will be used when a secure
Connector is created. | protected boolean | started | protected PropertyChangeSupport | support The property change support for this component. | protected boolean | useNaming |
Constructor Summary | |
public | Embedded() Construct a new instance of this class with default properties. | public | Embedded(Logger logger, Realm realm) Construct a new instance of this class with specified properties. |
Method Summary | |
public synchronized void | addConnector(Connector connector) Add a new Connector to the set of defined Connectors. | public synchronized void | addEngine(Engine engine) Add a new Engine to the set of defined Engines. | public void | addLifecycleListener(LifecycleListener listener) Add a lifecycle event listener to this component. | public void | addPropertyChangeListener(PropertyChangeListener listener) Add a property change listener to this component. | public Connector | createConnector(InetAddress address, int port, boolean secure) Create, configure, and return a new TCP/IP socket connector
based on the specified properties. | public Connector | createConnector(InetAddress address, int port, String protocol) | public Context | createContext(String path, String docBase) Create, configure, and return a Context that will process all
HTTP requests received from one of the associated Connectors,
and directed to the specified context path on the virtual host
to which this Context is connected. | public Engine | createEngine() Create, configure, and return an Engine that will process all
HTTP requests received from one of the associated Connectors,
based on the specified properties. | public Host | createHost(String name, String appBase) Create, configure, and return a Host that will process all
HTTP requests received from one of the associated Connectors,
and directed to the specified virtual host.
After you have customized the properties, listeners, and Valves
for this Host, you must attach it to the corresponding Engine
by calling:
engine.addChild(host);
which will also cause the Host to be started if the Engine has
already been started. | public Loader | createLoader(ClassLoader parent) Create and return a class loader manager that can be customized, and
then attached to a Context, before it is started. | public LifecycleListener[] | findLifecycleListeners() Get the lifecycle listeners associated with this lifecycle. | public int | getDebug() Return the debugging detail level for this component. | public String | getInfo() Return descriptive information about this Server implementation and
the corresponding version number, in the format
<description>/<version> . | public Logger | getLogger() Return the Logger for this component. | public Realm | getRealm() Return the default Realm for our Containers. | public String | getSocketFactory() Return the secure socket factory class name. | public boolean | isUseNaming() Return true if naming is enabled. | public static void | main(String args) This main program is a unit test to exercize the various methods of
the Embedded class. | public synchronized void | removeConnector(Connector connector) Remove the specified Connector from the set of defined Connectors. | public synchronized void | removeContext(Context context) Remove the specified Context from the set of defined Contexts for its
associated Host. | public synchronized void | removeEngine(Engine engine) Remove the specified Engine from the set of defined Engines, along with
all of its related Hosts and Contexts. | public synchronized void | removeHost(Host host) Remove the specified Host, along with all of its related Contexts,
from the set of defined Hosts for its associated Engine. | public void | removeLifecycleListener(LifecycleListener listener) Remove a lifecycle event listener from this component. | public void | removePropertyChangeListener(PropertyChangeListener listener) Remove a property change listener from this component. | public void | setDebug(int debug) Set the debugging detail level for this component. | public void | setLogger(Logger logger) Set the Logger for this component. | public void | setRealm(Realm realm) Set the default Realm for our Containers. | public void | setSocketFactory(String socketFactory) Set the secure socket factory class name. | public void | setUseNaming(boolean useNaming) Enables or disables naming support. | public void | start() Prepare for the beginning of active use of the public methods of this
component. | public void | stop() Gracefully terminate the active use of the public methods of this
component. |
connectors | protected Connector connectors(Code) | | The set of Connectors that have been deployed in this server.
|
debug | protected int debug(Code) | | The debugging detail level for this component.
|
engines | protected Engine engines(Code) | | The set of Engines that have been deployed in this server. Normally
there will only be one.
|
info | final protected static String info(Code) | | Descriptive information about this server implementation.
|
logger | protected Logger logger(Code) | | The default logger to be used by this component itself. Unless this
is overridden, log messages will be writted to standard output.
|
realm | protected Realm realm(Code) | | The default realm to be used by all containers associated with
this compoennt.
|
socketFactory | protected String socketFactory(Code) | | The socket factory that will be used when a secure
Connector is created. If a standard Connector is created, the
internal (to the Connector class default socket factory class)
will be used instead.
|
started | protected boolean started(Code) | | Has this component been started yet?
|
useNaming | protected boolean useNaming(Code) | | Is naming enabled ?
|
Embedded | public Embedded()(Code) | | Construct a new instance of this class with default properties.
|
Embedded | public Embedded(Logger logger, Realm realm)(Code) | | Construct a new instance of this class with specified properties.
Parameters: logger - Logger implementation to be inherited by all components(unless overridden further down the container hierarchy) Parameters: realm - Realm implementation to be inherited by all components(unless overridden further down the container hierarchy) |
addConnector | public synchronized void addConnector(Connector connector)(Code) | | Add a new Connector to the set of defined Connectors. The newly
added Connector will be associated with the most recently added Engine.
Parameters: connector - The connector to be added exception: IllegalStateException - if no engines have been added yet |
addEngine | public synchronized void addEngine(Engine engine)(Code) | | Add a new Engine to the set of defined Engines.
Parameters: engine - The engine to be added |
addLifecycleListener | public void addLifecycleListener(LifecycleListener listener)(Code) | | Add a lifecycle event listener to this component.
Parameters: listener - The listener to add |
addPropertyChangeListener | public void addPropertyChangeListener(PropertyChangeListener listener)(Code) | | Add a property change listener to this component.
Parameters: listener - The listener to add |
createConnector | public Connector createConnector(InetAddress address, int port, boolean secure)(Code) | | Create, configure, and return a new TCP/IP socket connector
based on the specified properties.
Parameters: address - InetAddress to listen to, or null to listen on all address on this server Parameters: port - Port number to listen to Parameters: secure - Should this port be SSL-enabled? |
createContext | public Context createContext(String path, String docBase)(Code) | | Create, configure, and return a Context that will process all
HTTP requests received from one of the associated Connectors,
and directed to the specified context path on the virtual host
to which this Context is connected.
After you have customized the properties, listeners, and Valves
for this Context, you must attach it to the corresponding Host
by calling:
host.addChild(context);
which will also cause the Context to be started if the Host has
already been started.
Parameters: path - Context path of this application ("" for the defaultapplication for this host, must start with a slash otherwise) Parameters: docBase - Absolute pathname to the document base directoryfor this web application exception: IllegalArgumentException - if an invalid parameteris specified |
createEngine | public Engine createEngine()(Code) | | Create, configure, and return an Engine that will process all
HTTP requests received from one of the associated Connectors,
based on the specified properties.
|
createHost | public Host createHost(String name, String appBase)(Code) | | Create, configure, and return a Host that will process all
HTTP requests received from one of the associated Connectors,
and directed to the specified virtual host.
After you have customized the properties, listeners, and Valves
for this Host, you must attach it to the corresponding Engine
by calling:
engine.addChild(host);
which will also cause the Host to be started if the Engine has
already been started. If this is the default (or only) Host you
will be defining, you may also tell the Engine to pass all requests
not assigned to another virtual host to this one:
engine.setDefaultHost(host.getName());
Parameters: name - Canonical name of this virtual host Parameters: appBase - Absolute pathname to the application base directoryfor this virtual host exception: IllegalArgumentException - if an invalid parameteris specified |
createLoader | public Loader createLoader(ClassLoader parent)(Code) | | Create and return a class loader manager that can be customized, and
then attached to a Context, before it is started.
Parameters: parent - ClassLoader that will be the parent of the onecreated by this Loader |
findLifecycleListeners | public LifecycleListener[] findLifecycleListeners()(Code) | | Get the lifecycle listeners associated with this lifecycle. If this
Lifecycle has no listeners registered, a zero-length array is returned.
|
getDebug | public int getDebug()(Code) | | Return the debugging detail level for this component.
|
getInfo | public String getInfo()(Code) | | Return descriptive information about this Server implementation and
the corresponding version number, in the format
<description>/<version> .
|
getLogger | public Logger getLogger()(Code) | | Return the Logger for this component.
|
getRealm | public Realm getRealm()(Code) | | Return the default Realm for our Containers.
|
getSocketFactory | public String getSocketFactory()(Code) | | Return the secure socket factory class name.
|
isUseNaming | public boolean isUseNaming()(Code) | | Return true if naming is enabled.
|
main | public static void main(String args)(Code) | | This main program is a unit test to exercize the various methods of
the Embedded class. It can be used as an example of the type of code
that would be used in a real environment.
Parameters: args - The command line arguments |
removeConnector | public synchronized void removeConnector(Connector connector)(Code) | | Remove the specified Connector from the set of defined Connectors.
Parameters: connector - The Connector to be removed |
removeContext | public synchronized void removeContext(Context context)(Code) | | Remove the specified Context from the set of defined Contexts for its
associated Host. If this is the last Context for this Host, the Host
will also be removed.
Parameters: context - The Context to be removed |
removeEngine | public synchronized void removeEngine(Engine engine)(Code) | | Remove the specified Engine from the set of defined Engines, along with
all of its related Hosts and Contexts. All associated Connectors are
also removed.
Parameters: engine - The Engine to be removed |
removeHost | public synchronized void removeHost(Host host)(Code) | | Remove the specified Host, along with all of its related Contexts,
from the set of defined Hosts for its associated Engine. If this is
the last Host for this Engine, the Engine will also be removed.
Parameters: host - The Host to be removed |
removeLifecycleListener | public void removeLifecycleListener(LifecycleListener listener)(Code) | | Remove a lifecycle event listener from this component.
Parameters: listener - The listener to remove |
removePropertyChangeListener | public void removePropertyChangeListener(PropertyChangeListener listener)(Code) | | Remove a property change listener from this component.
Parameters: listener - The listener to remove |
setDebug | public void setDebug(int debug)(Code) | | Set the debugging detail level for this component.
Parameters: debug - The new debugging detail level |
setLogger | public void setLogger(Logger logger)(Code) | | Set the Logger for this component.
Parameters: logger - The new logger |
setRealm | public void setRealm(Realm realm)(Code) | | Set the default Realm for our Containers.
Parameters: realm - The new default realm |
setSocketFactory | public void setSocketFactory(String socketFactory)(Code) | | Set the secure socket factory class name.
Parameters: socketFactory - The new secure socket factory class name |
setUseNaming | public void setUseNaming(boolean useNaming)(Code) | | Enables or disables naming support.
Parameters: useNaming - The new use naming value |
start | public void start() throws LifecycleException(Code) | | Prepare for the beginning of active use of the public methods of this
component. This method should be called after configure() ,
and before any of the public methods of the component are utilized.
exception: LifecycleException - if this component detects a fatal errorthat prevents this component from being used |
stop | public void stop() throws LifecycleException(Code) | | 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.
exception: LifecycleException - if this component detects a fatal errorthat needs to be reported |
|
|