Package org.apache.catalina.startup
Class HostConfig
java.lang.Object
org.apache.catalina.startup.HostConfig
- All Implemented Interfaces:
- LifecycleListener
Startup event listener for a Host that configures the properties of that Host, and the associated defined
 contexts.
- Author:
- Craig R. McClanahan, Remy Maucherat
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classThis class represents the state of a deployed application, as well as the monitored resources.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected StringThe Java class name of the Context implementation we should use.protected booleanShould XML files be copied to $CATALINA_BASE/conf/<engine>/<host> by default when a web application is deployed?protected final Map<String,HostConfig.DeployedApplication> Map of deployed applications.protected booleanShould we deploy XML Context config files packaged with WAR files and directories?protected DigesterTheDigesterinstance used to parse context descriptors.protected static final longThe resolution, in milliseconds, of file modification times.protected HostThe Host we are associated with.The list of Wars in the appBase to be ignored because they are invalid (e.g. contain /../ sequences).protected ObjectNameThe JMX ObjectName of this component.protected static final StringManagerThe string resources for this package.protected booleanShould we unpack WAR files when auto-deploying applications in theappBasedirectory?
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidprotected voidaddWatchedResources(HostConfig.DeployedApplication app, String docBase, Context context) Add watched resources to the specified Context.voidprotected voidcheck()Check status of all webapps.voidCheck status of a specific web application and reload, redeploy or deploy it as necessary.protected voidcheckResources(HostConfig.DeployedApplication app, boolean skipFileModificationResolutionCheck) Check resources for redeployment and reloading.voidCheck for old versions of applications using parallel deployment that are now unused (have no active sessions) and undeploy any that are found.protected static DigestercreateDigester(String contextClassName) Create the digester which will be used to parse context config files.protected voidDeploy applications for any directories or WAR files that are found in our "application root" directory.protected voiddeployApps(String name) Deploy applications for any directories or WAR files that are found in our "application root" directory.protected voiddeployDescriptor(ContextName cn, File contextXml) Deploy specified context descriptor.protected voiddeployDescriptors(File configBase, String[] files) Deploy XML context descriptors.protected voiddeployDirectories(File appBase, String[] files) Deploy exploded webapps.protected voiddeployDirectory(ContextName cn, File dir) Deploy exploded webapp.protected booleandeploymentExists(String contextName) Check if a webapp is already deployed in this host.protected voiddeployWAR(ContextName cn, File war) Deploy packed WAR.protected voiddeployWARs(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 byHost.getDeployIgnore().Get the name of the configBase.longgetDeploymentTime(String name) Get the instant where an application was deployed.booleanbooleanisDeployed(String name) Has the specified application been deployed?booleanbooleanvoidlifecycleEvent(LifecycleEvent event) Process the START event for an associated Host.voidAdd a new Context to be managed by us.protected voidmigrateLegacyApp(File source, File destination) protected voidvoidremoveServiced(String name) Removed a serviced application from the list.protected FilereturnCanonicalPath(String path) voidsetContextClass(String contextClass) Set the Context implementation class name.voidsetCopyXML(boolean copyXML) Set the copy XML config file flag for this component.voidsetDeployXML(boolean deployXML) Set the deploy XML config file flag for this component.voidsetUnpackWARs(boolean unpackWARs) Set the unpack WARs flag.voidstart()Process a "start" event for this Host.voidstop()Process a "stop" event for this Host.booleantryAddServiced(String name) Add a serviced application to the list and indicates if the application was already present in the list.voidunmanageApp(String contextName) Remove a webapp from our control.
- 
Field Details- 
smThe string resources for this package.
- 
FILE_MODIFICATION_RESOLUTION_MSprotected static final long FILE_MODIFICATION_RESOLUTION_MSThe resolution, in milliseconds, of file modification times.- See Also:
 
- 
contextClassThe Java class name of the Context implementation we should use.
- 
hostThe Host we are associated with.
- 
onameThe JMX ObjectName of this component.
- 
deployXMLprotected boolean deployXMLShould we deploy XML Context config files packaged with WAR files and directories?
- 
copyXMLprotected boolean copyXMLShould XML files be copied to $CATALINA_BASE/conf/<engine>/<host> by default when a web application is deployed?
- 
unpackWARsprotected boolean unpackWARsShould we unpack WAR files when auto-deploying applications in theappBasedirectory?
- 
deployedMap of deployed applications.
- 
digesterTheDigesterinstance used to parse context descriptors.
- 
invalidWarsThe list of Wars in the appBase to be ignored because they are invalid (e.g. contain /../ sequences).
 
- 
- 
Constructor Details- 
HostConfigpublic HostConfig()
 
- 
- 
Method Details- 
getContextClass- Returns:
- the Context implementation class name.
 
- 
setContextClassSet the Context implementation class name.- Parameters:
- contextClass- The new Context implementation class name.
 
- 
isDeployXMLpublic boolean isDeployXML()- Returns:
- the deploy XML config file flag for this component.
 
- 
setDeployXMLpublic void setDeployXML(boolean deployXML) Set the deploy XML config file flag for this component.- Parameters:
- deployXML- The new deploy XML flag
 
- 
isCopyXMLpublic boolean isCopyXML()- Returns:
- the copy XML config file flag for this component.
 
- 
setCopyXMLpublic void setCopyXML(boolean copyXML) Set the copy XML config file flag for this component.- Parameters:
- copyXML- The new copy XML flag
 
- 
isUnpackWARspublic boolean isUnpackWARs()- Returns:
- the unpack WARs flag.
 
- 
setUnpackWARspublic void setUnpackWARs(boolean unpackWARs) Set the unpack WARs flag.- Parameters:
- unpackWARs- The new unpack WARs flag
 
- 
lifecycleEventProcess the START event for an associated Host.- Specified by:
- lifecycleEventin interface- LifecycleListener
- Parameters:
- event- The lifecycle event that has occurred
 
- 
tryAddServicedAdd a serviced application to the list and indicates if the application was already present in the list.- Parameters:
- name- the context name
- Returns:
- trueif the application was not already in the list
 
- 
removeServicedRemoved a serviced application from the list.- Parameters:
- name- the context name
 
- 
getDeploymentTimeGet the instant where an application was deployed.- Parameters:
- name- the context name
- Returns:
- 0L if no application with that name is deployed, or the instant on which the application was deployed
 
- 
isDeployedHas the specified application been deployed? Note applications defined in server.xml will not have been deployed.- Parameters:
- name- the context name
- Returns:
- trueif the application has been deployed and- falseif the application has not been deployed or does not exist
 
- 
createDigesterCreate the digester which will be used to parse context config files.- Parameters:
- contextClassName- The class which will be used to create the context instance
- Returns:
- the digester
 
- 
returnCanonicalPath
- 
getConfigBaseNameGet the name of the configBase. For use with JMX management.- Returns:
- the config base
 
- 
deployAppsprotected void deployApps()Deploy applications for any directories or WAR files that are found in our "application root" directory.
- 
filterAppPathsFilter the list of application file paths to remove those that match the regular expression defined byHost.getDeployIgnore().- Parameters:
- unfilteredAppPaths- The list of application paths to filter
- Returns:
- The filtered list of application paths
 
- 
deployAppsDeploy applications for any directories or WAR files that are found in our "application root" directory.Note: It is expected that the caller has successfully added the app to servicedSet before calling this method. - Parameters:
- name- The context name which should be deployed
 
- 
deployDescriptorsDeploy XML context descriptors.- Parameters:
- configBase- The config base
- files- The XML descriptors which should be deployed
 
- 
deployDescriptorDeploy specified context descriptor.Note: It is expected that the caller has successfully added the app to servicedSet before calling this method. - Parameters:
- cn- The context name
- contextXml- The descriptor
 
- 
deployWARsDeploy WAR files.- Parameters:
- appBase- The base path for applications
- files- The WARs to deploy
 
- 
deployWARDeploy packed WAR.Note: It is expected that the caller has successfully added the app to servicedSet before calling this method. - Parameters:
- cn- The context name
- war- The WAR file
 
- 
deployDirectoriesDeploy exploded webapps.- Parameters:
- appBase- The base path for applications
- files- The exploded webapps that should be deployed
 
- 
deployDirectoryDeploy exploded webapp.Note: It is expected that the caller has successfully added the app to servicedSet before calling this method. - Parameters:
- cn- The context name
- dir- The path to the root folder of the webapp
 
- 
migrateLegacyAppsprotected void migrateLegacyApps()
- 
migrateLegacyApp
- 
deploymentExistsCheck if a webapp is already deployed in this host.- Parameters:
- contextName- of the context which will be checked
- Returns:
- trueif the specified deployment exists
 
- 
addWatchedResourcesprotected void addWatchedResources(HostConfig.DeployedApplication app, String docBase, Context context) Add watched resources to the specified Context.- Parameters:
- app- HostConfig deployed app
- docBase- web app docBase
- context- web application context
 
- 
addGlobalRedeployResources
- 
checkResourcesprotected void checkResources(HostConfig.DeployedApplication app, boolean skipFileModificationResolutionCheck) Check resources for redeployment and reloading.- Parameters:
- app- The web application to check
- skipFileModificationResolutionCheck- 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 skipped
 
- 
beforeStartpublic void beforeStart()
- 
startpublic void start()Process a "start" event for this Host.
- 
stoppublic void stop()Process a "stop" event for this Host.
- 
checkprotected void check()Check status of all webapps.
- 
checkCheck status of a specific web application and reload, redeploy or deploy it as necessary. This method is for use with functionality such as management web applications that upload new/updated web applications and need to trigger the appropriate action to deploy them. This method assumes that any uploading/updating has been completed before this method is called. Any action taken as a result of the checks will complete before this method returns.- Parameters:
- name- The name of the web application to check
 
- 
checkUndeploypublic 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.
- 
manageAppAdd a new Context to be managed by us. Entry point for the admin webapp, and other JMX Context controllers.- Parameters:
- context- The context instance
 
- 
unmanageAppRemove a webapp from our control. Entry point for the admin webapp, and other JMX Context controllers.Note: It is expected that the caller has successfully added the app to servicedSet before calling this method. - Parameters:
- contextName- The context name
 
 
-