Tomcat does not reload application if 1)a file in WEB-INF/lib is a symbolic link file, and 2)the actual file of the symbolic link file changed, and 3)allowLinking attribute is false In case of the above, Tomcat throws a NamingException. Application reloading works well if allowLinking attribute is set to true. The reason of the above would be as allows. -------------------- WebappClassLoader:addJar long lastModified = ((ResourceAttributes) resources.getAttributes(jar)) .getLastModified(); -------------------- I was wondering if application reloading should work when allowLinking attribute is false. Or should Tomcat disregard the Jar (doesn't load it) when "allowLinking=false"?
When allowlinging attribute is false, application can load class in jar file. But, when the actual file of the symbolic link file changed, tomcat does not reload application. It is contradictory.
Created attachment 22478 [details] With this patch, "Tomcat" does not load the jar file of Symbolic Link, when "allowLinking" is "false". With this patch, "Tomcat" does not load the jar file of Symbolic Link, when "allowLinking" is "false".
There was a problem in this patch(22478). Please ignore this patch.
This has been fixed in trunk and proposed for 6.0.x
The proposed patch failed to obtain the required votes. A new patch has been applied to trunk and proposed.
The fix has been applied to 6.0.x and will be included in 6.0.21 onwards.