在启动播放应用程序时初始化昂贵的对象

Jür*_*nig 2 playframework playframework-2.0 playframework-2.2

我正在尝试使用play framework 2.2实现路由服务.因此,我有一个非常昂贵的图单例对象,需要在部署和启动播放应用程序时进行实例化.图的实例化需要大约.10到15分钟,将所有节点和边缘和限制加载到内存中,我不想在第一个API GET请求确实进入时触发.

此外,我希望能够做出反应,如果第一个GET请求进入并且图形尚未加载,则返回错误代码(HTTP 503或类似的东西).

只是一个想法:这应该在Application()构造函数中完成吗?我问,因为Application没有开箱即用的构造函数,我想这有一些意图.那么构造函数应该是私有的吗?

cos*_*lev 5

肯定不在Application.

写下来Global.onStart:

(Java)http://www.playframework.com/documentation/2.2.x/JavaGlobal

(Scala)https://www.playframework.com/documentation/2.2.x/ScalaGlobal

  • 谢谢,这就是我要找的...如果你不知道你要搜索什么(缺少概述/索引),很难从播放文档中获得答案 (2认同)