我有一个RAP应用程序,我们将其部署到Tomcat实例中。该应用程序在首次启动时会执行一些额外的操作。
目前,当第一个用户在浏览器中打开网页时,由于这种一次性初始化工作,应用程序准备就绪需要很长时间。
这对可用性不利,因为第一个用户需要等待很长时间才能完成启动工作。
有没有办法在Tomcat启动后触发或模拟第一个会话,以便我们可以预热应用程序并让第一个用户快速收到反馈?
我尝试通过URLConnection做一些简单的URL请求来模拟浏览器,但似乎触发新会话的协议并非易事。
我还尝试使用HtmlUnit来请求启用了JavaScript的页面,这在某种程度上起作用,但HtmlUnit对于这个简单的步骤非常重要。
是否有官方API或至少某种解决方法允许我预先启动并初始化应用程序?
答案 0 :(得分:3)
除非此初始化需要UI会话(即用户),否则configure
的{{1}}方法可能是合适的位置。但是,此时,ApplicationContext尚未完全设置,因此可能为时尚早。此外,如果您的应用程序基于工作台和扩展点,则您将没有自己的ApplicationConfiguration。
您介意打开错误报告(http://eclipse.org/rap/bugs)并描述您的用例吗?我认为我们应该为应用程序设置和清理提供某种钩子,例如一个ApplicationContextListener?