我们目前在WAR之外部署我们的JSP。这允许我们以不同的速度部署主应用程序容器和JSP视图(一个团队的移动速度比另一个团队快得多)。为了支持这一点,我们将JSP从战争中解脱出来。部署webapp时,会为JSP所在的文件夹创建一些软链接。最后,当我们部署新的/更新的JSP时,JspServlet会检测它,重新编译新的/更新的JSP并替换类。
当更改很少且服务器负载平均值很低时,此工作流程可正常工作。当开发人员修改其中一个主JSP或服务器负载很高时,就会出现问题。在这种情况下,所有服务器都开始编译更新的JSP,并且由于负载量的原因,大量请求最终会导致504错误。
我们正在考虑在将JSP部署到服务器之前预编译它们。问题是我们无法找到任何强制Tomcat热重新加载更新类的选项。我们测试的所有不同的重新加载选项最终都会重新加载所有的webapp(这意味着80秒的停机时间)。
是否有任何建议的选项来管理它?有人有类似的情况或合适的解决方案吗?
非常感谢,
托马斯