我在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。
提前致谢。
答案 0 :(得分:0)
您应该阅读此post,其他人试图按照您的建议行事。部署通常应视为静态。如果他们需要改变你的重新部署。如果正常运行时间是最重要的,则应考虑启用会话关联的负载均衡器。这将允许您在保留飞行会话的同时执行软翻转。
要执行您的建议,您需要一个监视文件系统进行更改的线程,并定期重新加载静态数据。问题是产生自己的线程是一个主要的容器禁止。其次,我可以很容易地看到这导致你吸收所有的烫发或类似的东西,并最终在不合时宜的时刻崩溃你的JVM。