Tomcat在Linux上缓存符号链接后面的文件

时间:2012-05-31 13:40:59

标签: java linux tomcat amazon-ec2

我在EC2 Fedora8 64bit 2.6.21.7-2.ec2.v1.2.fc8xen上遇到Tomcat 6.0.29的问题。有运行java webapp和symlinked静态数据文件夹。  这样的事情:

/home/user/tomcat/webapps/my-app/staticdata
/home/user/staticdata

当我从/home/user/staticdata更改数据时,问题已经解决了。 Tomcat只是没有看到这些更改,并继续返回旧文件。虽然当我试图从不同的浏览器获取这些文件时,tomcat会返回最新的文件。我在context.xml中尝试了cachingAllowed="false"但它不起作用。

所以,我希望重新部署热数据,而不会停止tomcat。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您应该阅读此post,其他人试图按照您的建议行事。部署通常应视为静态。如果他们需要改变你的重新部署。如果正常运行时间是最重要的,则应考虑启用会话关联的负载均衡器。这将允许您在保留飞行会话的同时执行软翻转。

要执行您的建议,您需要一个监视文件系统进行更改的线程,并定期重新加载静态数据。问题是产生自己的线程是一个主要的容器禁止。其次,我可以很容易地看到这导致你吸收所有的烫发或类似的东西,并最终在不合时宜的时刻崩溃你的JVM。