org.mortbay.jetty.deployer
Class ContextDeployer
java.lang.Object
org.mortbay.component.AbstractLifeCycle
org.mortbay.jetty.deployer.ContextDeployer
- All Implemented Interfaces:
- LifeCycle
public class ContextDeployer
- extends AbstractLifeCycle
Context Deployer
This deployer scans a designated directory by
setConfigurationDir(String)
for the appearance/disappearance or
changes to xml configuration files. The scan is performed at startup and at
an optional hot deployment frequency specified by
setScanInterval(int)
.
Each configuration file is in XmlConfiguration
format and represents
the configuration of a instance of ContextHandler
(or a subclass
specified by the XML Configure
element).
The xml should configure the context and the instance is deployed to the
ContextHandlerCollection
specified by #setContexts(Server)
.
Similarly, when one of these existing files is removed, the corresponding
context is undeployed; when one of these files is changed, the corresponding
context is undeployed, the (changed) xml config file reapplied to it, and
then (re)deployed.
Note that the context itself is NOT copied into the hot deploy directory. The
webapp directory or war file can exist anywhere. It is the xml config file
that points to it's location and deploys it from there.
It means, for example, that you can keep a "read-only" copy of your webapp
somewhere, and apply different configurations to it simply by dropping
different xml configuration files into the configuration directory.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NAME
public static final String NAME
- See Also:
- Constant Field Values
ContextDeployer
public ContextDeployer()
throws Exception
- Constructor
- Throws:
Exception
getContexts
public ContextHandlerCollection getContexts()
- Returns:
- the ContextHandlerColletion to which to deploy the contexts
setContexts
public void setContexts(ContextHandlerCollection contexts)
- Associate with a
ContextHandlerCollection
.
- Parameters:
contexts
- the ContextHandlerColletion to which to deploy the contexts
setScanInterval
public void setScanInterval(int seconds)
- Parameters:
seconds
- The period in second between scans for changed configuration
files. A zero or negative interval disables hot deployment
getScanInterval
public int getScanInterval()
setConfigurationDir
public void setConfigurationDir(String dir)
throws Exception
- Parameters:
dir
-
- Throws:
Exception
setConfigurationDir
public void setConfigurationDir(File file)
throws Exception
- Parameters:
file
-
- Throws:
Exception
setConfigurationDir
public void setConfigurationDir(Resource resource)
- Parameters:
resource
-
setDirectory
public void setDirectory(String directory)
throws Exception
- Parameters:
directory
-
- Throws:
Exception
getDirectory
public String getDirectory()
- Returns:
getConfigurationDir
public Resource getConfigurationDir()
- Returns:
setConfigurationManager
public void setConfigurationManager(ConfigurationManager configMgr)
- Parameters:
configMgr
-
getConfigurationManager
public ConfigurationManager getConfigurationManager()
- Returns:
doStart
protected void doStart()
throws Exception
- Start the hot deployer looking for webapps to deploy/undeploy
- Overrides:
doStart
in class AbstractLifeCycle
- Throws:
Exception
- See Also:
AbstractLifeCycle.doStart()
doStop
protected void doStop()
throws Exception
- Stop the hot deployer.
- Overrides:
doStop
in class AbstractLifeCycle
- Throws:
Exception
- See Also:
AbstractLifeCycle.doStop()