在 Play 中,我在哪里可以存储服务器生存期对象!框架 1.2.7.



可以玩!框架为生存期应与进程相同的对象提供容器?

Play 2.0 具有提供 onStart 和 onStop 的全局设置,但没有明显的进程生命周期对象的"容器"。

对于Play 1.2.7,我需要:

  1. 一个用于初始化某些资源的 onStart 钩子
  2. 一个用于清理资源的 onStop 钩子
  3. 用于管理进程生存期对象的容器

建议?

您可以使用

带有 @OnApplicationStart@OnApplicationStop 的游戏作业进行初始化和清理:
http://www.playframework.com/documentation/1.2.7/jobs#anameconceptsBootstrapjobsa

另一种方法是编写自己的插件(它允许您连接到更多的游戏过程,如之前的ActionInvocation等):

public class ApplicationPlugin extends PlayPlugin {
    @Override
    public void onApplicationStart() { }
    @Override
    public void onApplicationStop() { }
    @Override
    public void beforeInvocation() { }
    @Override
    public void beforeActionInvocation(Method actionMethod) {
    // etc. ...
}

该插件还需要在conf/play.plugins文件中确定优先级:

1000:my.java.package.ApplicationPlugin

根据您要存储的对象,您可以将"进程生命周期对象"放入数据库或仅放入 HashMap 中?我也在考虑缓存(http://www.playframework.com/documentation/1.2.7/cache),但我不确定这是否是最好的主意(例如,因为过期超时)。

最新更新