You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2005/05/12 11:29:54 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup HostConfig.java LocalStrings.properties SetContextPropertiesRule.java
remm 2005/05/12 02:29:54
Modified: catalina/src/share/org/apache/catalina/startup
HostConfig.java LocalStrings.properties
SetContextPropertiesRule.java
Log:
- 34840: Found a way to tweak behavior when using an external WAR.
- Ignore docBase if the context is inside the host appBase, as it is duplicated by the context file name. Not doing so creates a mess in some cases.
Revision Changes Path
1.60 +20 -7 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java
Index: HostConfig.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- HostConfig.java 14 Mar 2005 11:52:04 -0000 1.59
+++ HostConfig.java 12 May 2005 09:29:54 -0000 1.60
@@ -53,7 +53,6 @@
* @author Remy Maucherat
* @version $Revision$ $Date$
*/
-
public class HostConfig
implements LifecycleListener {
@@ -575,15 +574,27 @@
context.setPath(contextPath);
// Add the associated docBase to the redeployed list if it's a WAR
boolean isWar = false;
+ boolean isExternal = false;
if (context.getDocBase() != null) {
File docBase = new File(context.getDocBase());
if (!docBase.isAbsolute()) {
docBase = new File(appBase(), context.getDocBase());
}
- deployedApp.redeployResources.put(docBase.getAbsolutePath(),
+ // If external docBase, register .xml as redeploy first
+ if (!docBase.getAbsolutePath().startsWith(appBase().getAbsolutePath())) {
+ isExternal = true;
+ deployedApp.redeployResources.put
+ (contextXml.getAbsolutePath(), new Long(contextXml.lastModified()));
+ deployedApp.redeployResources.put(docBase.getAbsolutePath(),
new Long(docBase.lastModified()));
- if (docBase.getAbsolutePath().toLowerCase().endsWith(".war")) {
- isWar = true;
+ if (docBase.getAbsolutePath().toLowerCase().endsWith(".war")) {
+ isWar = true;
+ }
+ } else {
+ log.warn(sm.getString("hostConfig.deployDescriptor.localDocBaseSpecified",
+ docBase));
+ // Ignore specified docBase
+ context.setDocBase(null);
}
}
host.addChild(context);
@@ -628,8 +639,10 @@
addWatchedResources(deployedApp, null, context);
}
// Add the context XML to the list of files which should trigger a redeployment
- deployedApp.redeployResources.put
- (contextXml.getAbsolutePath(), new Long(contextXml.lastModified()));
+ if (!isExternal) {
+ deployedApp.redeployResources.put
+ (contextXml.getAbsolutePath(), new Long(contextXml.lastModified()));
+ }
}
} catch (Throwable t) {
log.error(sm.getString("hostConfig.deployDescriptor.error",
1.15 +1 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties
Index: LocalStrings.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- LocalStrings.properties 15 Feb 2005 15:42:58 -0000 1.14
+++ LocalStrings.properties 12 May 2005 09:29:54 -0000 1.15
@@ -47,6 +47,7 @@
hostConfig.deploy=Deploying web application directory {0}
hostConfig.deployDescriptor=Deploying configuration descriptor {0}
hostConfig.deployDescriptor.error=Error deploying configuration descriptor {0}
+hostConfig.deployDescriptor.localDocBaseSpecified=A docBase {0} inside the host appBase has been specified, and will be ignored
hostConfig.deployDir=Deploying web application directory {0}
hostConfig.deployDir.error=Error deploying web application directory {0}
hostConfig.deployJar=Deploying web application archive {0}
1.2 +1 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java
Index: SetContextPropertiesRule.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SetContextPropertiesRule.java 23 Sep 2004 06:58:52 -0000 1.1
+++ SetContextPropertiesRule.java 12 May 2005 09:29:54 -0000 1.2
@@ -55,7 +55,7 @@
if ("".equals(name)) {
name = attributes.getQName(i);
}
- if ("path".equals(name)) {
+ if ("path".equals(name) || "docBase".equals(name)) {
continue;
}
String value = attributes.getValue(i);
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org