public class HostConfig extends Object implements LifecycleListener
Modifier and Type | Class and Description |
---|---|
protected static class |
HostConfig.DeployedApplication
This class represents the state of a deployed application, as well as
the monitored resources.
|
Modifier and Type | Field and Description |
---|---|
protected String |
contextClass
The Java class name of the Context implementation we should use.
|
protected boolean |
copyXML
Should XML files be copied to
$CATALINA_BASE/conf/<engine>/<host> by default when
a web application is deployed?
|
protected Map<String,HostConfig.DeployedApplication> |
deployed
Map of deployed applications.
|
protected boolean |
deployXML
Should we deploy XML Context config files packaged with WAR files and
directories?
|
protected Digester |
digester
The
Digester instance used to parse context descriptors. |
protected static long |
FILE_MODIFICATION_RESOLUTION_MS
The resolution, in milliseconds, of file modification times.
|
protected Host |
host
The Host we are associated with.
|
protected Set<String> |
invalidWars
The list of Wars in the appBase to be ignored because they are invalid
(e.g. contain /../ sequences).
|
protected ObjectName |
oname
The JMX ObjectName of this component.
|
protected ArrayList<String> |
serviced
List of applications which are being serviced, and shouldn't be
deployed/undeployed/redeployed at the moment.
|
protected static StringManager |
sm
The string resources for this package.
|
protected boolean |
unpackWARs
Should we unpack WAR files when auto-deploying applications in the
appBase directory? |
Constructor and Description |
---|
HostConfig() |
Modifier and Type | Method and Description |
---|---|
protected void |
addGlobalRedeployResources(HostConfig.DeployedApplication app) |
void |
addServiced(String name)
Add a serviced application to the list.
|
protected void |
addWatchedResources(HostConfig.DeployedApplication app,
String docBase,
Context context)
Add watched resources to the specified Context.
|
void |
beforeStart() |
protected void |
check()
Check status of all webapps.
|
void |
check(String name)
Check status of a specific web application and reload, redeploy or deploy
it as necessary.
|
protected void |
checkResources(HostConfig.DeployedApplication app,
boolean skipFileModificationResolutionCheck)
Check resources for redeployment and reloading.
|
void |
checkUndeploy()
Check for old versions of applications using parallel deployment that are
now unused (have no active sessions) and undeploy any that are found.
|
protected static Digester |
createDigester(String contextClassName)
Create the digester which will be used to parse context config files.
|
protected void |
deployApps()
Deploy applications for any directories or WAR files that are found
in our "application root" directory.
|
protected void |
deployApps(String name)
Deploy applications for any directories or WAR files that are found
in our "application root" directory.
|
protected void |
deployDescriptor(ContextName cn,
File contextXml)
Deploy specified context descriptor.
|
protected void |
deployDescriptors(File configBase,
String[] files)
Deploy XML context descriptors.
|
protected void |
deployDirectories(File appBase,
String[] files)
Deploy exploded webapps.
|
protected void |
deployDirectory(ContextName cn,
File dir)
Deploy exploded webapp.
|
protected boolean |
deploymentExists(String contextName)
Check if a webapp is already deployed in this host.
|
protected void |
deployWAR(ContextName cn,
File war)
Deploy packed WAR.
|
protected void |
deployWARs(File appBase,
String[] files)
Deploy WAR files.
|
protected String[] |
filterAppPaths(String[] unfilteredAppPaths)
Filter the list of application file paths to remove those that match
the regular expression defined by
Host.getDeployIgnore() . |
String |
getConfigBaseName()
Get the name of the configBase.
|
String |
getContextClass() |
long |
getDeploymentTime(String name)
Get the instant where an application was deployed.
|
boolean |
isCopyXML() |
boolean |
isDeployed(String name)
Has the specified application been deployed?
|
boolean |
isDeployXML() |
boolean |
isServiced(String name)
Is application serviced ?
|
boolean |
isUnpackWARs() |
void |
lifecycleEvent(LifecycleEvent event)
Process the START event for an associated Host.
|
void |
manageApp(Context context)
Add a new Context to be managed by us.
|
void |
removeServiced(String name)
Removed a serviced application from the list.
|
protected File |
returnCanonicalPath(String path) |
void |
setContextClass(String contextClass)
Set the Context implementation class name.
|
void |
setCopyXML(boolean copyXML)
Set the copy XML config file flag for this component.
|
void |
setDeployXML(boolean deployXML)
Set the deploy XML config file flag for this component.
|
void |
setUnpackWARs(boolean unpackWARs)
Set the unpack WARs flag.
|
void |
start()
Process a "start" event for this Host.
|
void |
stop()
Process a "stop" event for this Host.
|
void |
unmanageApp(String contextName)
Remove a webapp from our control.
|
protected static final StringManager sm
protected static final long FILE_MODIFICATION_RESOLUTION_MS
protected String contextClass
protected Host host
protected ObjectName oname
protected boolean deployXML
protected boolean copyXML
protected boolean unpackWARs
appBase
directory?protected final Map<String,HostConfig.DeployedApplication> deployed
protected final ArrayList<String> serviced
protected Digester digester
Digester
instance used to parse context descriptors.public String getContextClass()
public void setContextClass(String contextClass)
contextClass
- The new Context implementation class name.public boolean isDeployXML()
public void setDeployXML(boolean deployXML)
deployXML
- The new deploy XML flagpublic boolean isCopyXML()
public void setCopyXML(boolean copyXML)
copyXML
- The new copy XML flagpublic boolean isUnpackWARs()
public void setUnpackWARs(boolean unpackWARs)
unpackWARs
- The new unpack WARs flagpublic void lifecycleEvent(LifecycleEvent event)
lifecycleEvent
in interface LifecycleListener
event
- The lifecycle event that has occurredpublic void addServiced(String name)
name
- the context namepublic boolean isServiced(String name)
name
- the context namepublic void removeServiced(String name)
name
- the context namepublic long getDeploymentTime(String name)
name
- the context namepublic boolean isDeployed(String name)
name
- the context nametrue
if the application has been deployed and
false
if the application has not been deployed or does not
existprotected static Digester createDigester(String contextClassName)
contextClassName
- The class which will be used to create the
context instancepublic String getConfigBaseName()
protected void deployApps()
protected String[] filterAppPaths(String[] unfilteredAppPaths)
Host.getDeployIgnore()
.unfilteredAppPaths
- The list of application paths to filterprotected void deployApps(String name)
name
- The context name which should be deployedprotected void deployDescriptors(File configBase, String[] files)
configBase
- The config basefiles
- The XML descriptors which should be deployedprotected void deployDescriptor(ContextName cn, File contextXml)
cn
- The context namecontextXml
- The descriptorprotected void deployWARs(File appBase, String[] files)
appBase
- The base path for applicationsfiles
- The WARs to deployprotected void deployWAR(ContextName cn, File war)
cn
- The context namewar
- The WAR fileprotected void deployDirectories(File appBase, String[] files)
appBase
- The base path for applicationsfiles
- The exploded webapps that should be deployedprotected void deployDirectory(ContextName cn, File dir)
cn
- The context namedir
- The path to the root folder of the weappprotected boolean deploymentExists(String contextName)
contextName
- of the context which will be checkedtrue
if the specified deployment existsprotected void addWatchedResources(HostConfig.DeployedApplication app, String docBase, Context context)
app
- HostConfig deployed appdocBase
- web app docBasecontext
- web application contextprotected void addGlobalRedeployResources(HostConfig.DeployedApplication app)
protected void checkResources(HostConfig.DeployedApplication app, boolean skipFileModificationResolutionCheck)
app
- The web application to checkskipFileModificationResolutionCheck
- When checking files for modification should the check that
requires that any file modification must have occurred at
least as long ago as the resolution of the file time stamp
be skippedpublic void beforeStart()
public void start()
public void stop()
protected void check()
public void check(String name)
name
- The name of the web application to checkpublic void checkUndeploy()
public void manageApp(Context context)
context
- The context instancepublic void unmanageApp(String contextName)
contextName
- The context nameCopyright © 2000-2016 Apache Software Foundation. All Rights Reserved.