我们的Tomcat实例运行许多不同的Web应用程序:主要是Struts / Struts2,但其中包含奇怪的Grails应用程序。

如果需要更新Struts应用程序,通常只需从开发机器上复制树状结构,然后在web.xml更新时该应用程序将重新启动。

对于Grails来说,问题似乎更多。复制树并让应用程序重启几乎是行不通的……明显的类丢失,数据库连接错误等。我发现唯一可以肯定的方法是完全停止tomcat,更新应用程序,然后重新启动tomcat。显然缺少的类不再丢失,数据库连接也很好,无需更改任何代码。但是,这显然也会使所有其他应用程序崩溃。

还有其他人看到过类似的问题吗?我有想念的招吗?

最佳答案

将树复制到应用程序服务器is discouraged
一种更好的方法是将Grails应用程序打包为WAR:

# grails war

或者,如果您configured maven:
# mvn clean package

这样可以确保设置了“生产”环境。

然后,如果deploy the WAR file被禁用或无法正常工作,则可以Tomcat Manager并使用 autoDeploy 重新启动Web应用程序。

10-06 05:44
查看更多