我使用Grails framework(版本2.3.7)开发了许多不同的Web服务。每个Web服务都做不同的事情,有些简单,有些更复杂。有些只有少数依赖项(插件等),其他有很多。
对于生产,我在Tomcat 7上部署每个服务/应用程序,每个服务/应用程序位于不同的VM上。为此,我首先构建一个WAR:
> grails war
然后我在Tomcat上部署WAR作为ROOT应用程序(/var/lib/tomcat7/webapps/ROOT.war
)。这很好用。
但是,当(重新)启动Tomcat时,部署应用程序通常需要2-7分钟,有时甚至更多。我没有注意到应用程序的复杂性和部署时间之间存在真正的相关性。
这个漫长的部署时间有什么原因?我应该怎么看才能加速Tomcat 7上的Grails应用程序部署?
或者这正是我应该期待的,我应该学会忍受它?
答案 0 :(得分:0)
事实证明,这个问题与“熵源”有关,正如Tomcat wiki所述,关于如何加速启动Tomcat。所以解决方案是将以下JDK选项添加到Tomcat配置文件中:/ etc / default / tomcat7:
<?PHP
// This code is just basic example
$we_need = array(
'Carrot',
'Onion',
'Milk',
'Onion',
'Potato'
); // Notice that Onion is on two places
$basket = array(); // An empty basket
foreach ($we_need as $product) {
// Add product to basket ONLY if it's not already there
if (!in_array($product, $basket)) {
$basket[] = $product;
} else {
echo "For debugging: Duplicate detected, so skipped.\n";
}
}
print_r($basket);
?>
现在Tomcat可以在大约20-30秒内可靠地启动。