0

我有一个 RAP 应用程序,我们将其部署到 Tomcat 实例中。该应用程序在第一次启动期间会做一些额外的事情。

目前,当第一个用户在浏览器中打开网页时,由于这种一次性初始化工作,应用程序准备就绪需要相当长的时间。

这对可用性不利,因为第一个用户需要等待很长时间才能完成启动工作。

有没有办法在 Tomcat 启动后触发或模拟第一个会话,以便我们可以预热应用程序并让第一个用户快速收到反馈?

我尝试通过 URLConnection 执行一些简单的 URL 请求来模拟浏览器,但似乎触发新会话的协议并非易事。

我还尝试使用 HtmlUnit 来请求启用了 JavaScript 的页面,这在一定程度上可行,但是对于这个简单的步骤,HtmlUnit 相当繁重。

那么是否有官方 API 或至少某种解决方法可以让我预先启动和初始化应用程序?

4

1 回答 1

3

除非此初始化需要 UI 会话(即用户),否则configure您的方法ApplicationConfiguration可能是一个合适的地方。但是,此时 ApplicationContext 尚未完全设置,因此可能为时过早。此外,如果您的应用程序基于工作台和扩展点,您将不会拥有自己的 ApplicationConfiguration。

您介意打开一个错误报告 ( http://eclipse.org/rap/bugs ) 并描述您的用例吗?我认为我们应该为应用程序设置和清理提供某种钩子,例如 ApplicationContextListener?

于 2013-02-13T16:03:33.310 回答