2009-12-17 47 views
3

我正在使用Spring MVC开发一个应用程序,并使用注解。应用程序需要很长时间才能加载第一次,然后只要访问应用程序就会表现良好。但是,当我离开申请一分钟,然后再次访问它时,需要很长时间。我已经读过类似的问题,但没有谈论解决方案。有没有人有这个问题,并能够解决它?Google App Engine + Spring MVC +注解的速度问题

一个解决方案是剥离我想做的最后选择的注释。

谢谢

回答

1

GAE杀死你的应用程序,如果没有人点击了一分钟。

+0

我想,但我不知道是否有任何解决方案不这样做。 – Oceandrive 2009-12-18 13:55:55

+0

使用cron.xml来每分钟ping自己? – irreputable 2009-12-18 21:22:43

+0

克朗(或类似的)不是一个很好的解决方案,因为它可能会产生暂时的影响,因为谷歌打击每个人都试图做到这一点,如果他们想要降低其他人的成本,他们会这样做。 – 2009-12-20 09:29:06

1

在最新版本中有一个预编译启用的属性,您可以使用它来加快速度。关于为什么,请参阅this article。它可能无法解决运行时启动问题,但我希望注释是编译时。

您可以通过添加到 启用预编译启用它为您的应用程序 你的AppEngine-web.xml中:

<precompilation-enabled>true</precompilation-enabled> 
+0

试过这个,但没有解决问题 – Oceandrive 2009-12-22 14:37:07

5

的一种方式,加快春的初始加载将在您的springapp-servlet.xml中禁用<context:component-scan base-package="app.controllers" />行,并手动指定应用程序中的所有控制器,如下所示:

<bean id="rootController" class="app.controllers.RootController" ></bean> 
<bean id="otherController" class="app.controllers.OtherController" ></bean> 

我在Google App Engine上使用Spring MVC,并将请求加载时间减少到3秒。

+0

Kyle,所以基本上不要做任何组件扫描。大约有多少个控制器需要3秒? – stivlo 2011-12-01 08:14:51