在Tomcat上部署Grails应用程序很慢

在Tomcat上部署Grails应用程序很慢,tomcat,grails,tomcat7,Tomcat,Grails,Tomcat7,我使用版本2.3.7开发了许多不同的web服务。每个web服务做不同的事情,有些简单,有些更复杂。一些插件只有几个依赖项,其他插件很多 对于生产,我将每个服务/应用程序部署在Tomcat7上,每个服务/应用程序部署在不同的VM上。为此,我首先构建了一场战争: > grails war 然后我将WAR部署到Tomcat上,作为根应用程序/var/lib/tomcat7/webapps/ROOT.WAR。这个很好用 但是,当重新启动Tomcat时,部署应用程序通常需要2-7分钟,有时需要更长

我使用版本2.3.7开发了许多不同的web服务。每个web服务做不同的事情,有些简单,有些更复杂。一些插件只有几个依赖项,其他插件很多

对于生产,我将每个服务/应用程序部署在Tomcat7上,每个服务/应用程序部署在不同的VM上。为此,我首先构建了一场战争:

> grails war
然后我将WAR部署到Tomcat上,作为根应用程序/var/lib/tomcat7/webapps/ROOT.WAR。这个很好用

但是,当重新启动Tomcat时,部署应用程序通常需要2-7分钟,有时需要更长时间。我还没有注意到应用程序的复杂性与部署时间之间存在真正的相关性

部署时间这么长的原因是什么?为了加速Tomcat7上Grails应用程序的部署,我应该看什么


还是这正是我应该期待的,我应该学会接受它

事实证明,这个问题与熵源有关,正如《如何加速启动Tomcat》上所记录的那样。因此,解决方案是将以下JDK选项添加到Tomcat配置文件:/etc/default/tomcat7:

-Djava.security.egd=file:/dev/./urandom

现在Tomcat在大约20-30秒内可靠地启动

一个典型的赤裸裸的Grails2.x应用程序/WAR将在大约30秒后启动。所以你的启动时间很慢。你在使用什么插件?Bootstrap.groovy中运行的是什么代码?他们中是否有人依赖于外部资源、其他web服务等?感谢您确认我的启动时间已经过了。我想我找到了答案,可以在下面找到。