Author: pero Date: Sun Jan 20 06:01:52 2008 New Revision: 613558 URL: http://svn.apache.org/viewvc?rev=613558&view=rev Log: FIX: WatchedResource does not work if app is outside "webapps"
Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=613558&r1=613557&r2=613558&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Sun Jan 20 06:01:52 2008 @@ -636,11 +636,15 @@ name = path; } } - File expandedDocBase = new File(name); - File warDocBase = new File(name + ".war"); - if (!expandedDocBase.isAbsolute()) { - expandedDocBase = new File(appBase(), name); - warDocBase = new File(appBase(), name + ".war"); + // default to appBase dir + name + File expandedDocBase = new File(appBase(), name); + if (context.getDocBase() != null) { + // first assume docBase is absolute + expandedDocBase = new File(context.getDocBase()); + if (!expandedDocBase.isAbsolute()) { + // if docBase specified and relative, it must be relative to appBase + expandedDocBase = new File(appBase(), context.getDocBase()); + } } // Add the eventual unpacked WAR and all the resources which will be // watched inside it @@ -652,6 +656,7 @@ addWatchedResources(deployedApp, expandedDocBase.getAbsolutePath(), context); } else { // Find an existing matching war and expanded folder + File warDocBase = new File(expandedDocBase.getAbsolutePath() + ".war"); if (warDocBase.exists()) { deployedApp.redeployResources.put(warDocBase.getAbsolutePath(), new Long(warDocBase.lastModified())); @@ -966,9 +971,13 @@ if (docBase != null) { resource = new File(docBaseFile, watchedResources[i]); } else { + if(log.isDebugEnabled()) + log.debug("Ignoring non-existent WatchedResource '" + resource.getAbsolutePath() + "'"); continue; } } + if(log.isDebugEnabled()) + log.debug("Watching WatchedResource '" + resource.getAbsolutePath() + "'"); app.reloadResources.put(resource.getAbsolutePath(), new Long(resource.lastModified())); } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=613558&r1=613557&r2=613558&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Sun Jan 20 06:01:52 2008 @@ -46,6 +46,9 @@ </subsection> <subsection name="Catalina"> <changelog> + <fix><bug>38131</bug>: WatchedResource does not work if app is outside host appbase webapps. + Patch provided by Gernot Pfingstl (pero) + </fix> <fix><bug>44261</bug>: Fix "Restricted listeners property file not found" message fix. Patch provided by David Jencks. (pero) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]