tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Miller" <jumil...@utah.gov>
Subject unpackWARs and antiResourceLocking
Date Tue, 06 Dec 2011 16:38:48 GMT
Windows 2008 64-bit
Java 1.6.0_16 32-bit
Tomcat 6.0.33
 
Greetings
 
I'm having some difficulties with the above environment and setting unpackWARs = "false" antiResourceLocking
= "true" with apps packaged as WAR files. It appears that Tomcat is attempting to copy the
WAR from the $CATALINA_HOME/webapps directory to the $CATALINA_HOME/temp directory without
the .war extension (e.g., original docBase is $CATALINA_HOME/webapps/example.war and a new
docBase of $CATALINA_HOME/temp/1-example ). Is my understanding that with the unpackWARs setting
set to false, Tomcat just runs directly from the .war? Additionally, with the antiResourceLocking
set to "true", given the above assumption, would it be that Tomcat runs the app from a .war
copied wholesale to the temp directory? If so, it appears that line 973 in ContextConfig.java
method antiLocking never evaluates correctly because the docBase gets set to the value of
path on line 969, which removes the .war extension so the file ends up being $CATALINA_HOME/temp/1-example
instead of 1-example.war. 
 
Additionally, applications with sub-context paths (e.g., foo#bar.war) never get deployed to
temp correctly with antiResourceLocking="true" regardless of the unpackWARs setting because
of the above scenario and because the docBase gets set to the context path in the antiLocking
method which converts the # separator to /. There appears to be a fix on line 882 of fixDocBase
that converts the / character to # in the path but that doesn't make it to the antiLocking
method.
 
Please advise if I my understandings/assumptions are incorrect and if so, how I might configure
Tomcat correctly to run a war without unpacking and locking resources. I am also happy to
submit a bug report if needed.
 
Thanks in advance
Justin Miller

Mime
View raw message