@OnApplicationStart无法在Play框架中运行

时间:2011-09-21 06:23:32

标签: playframework

我有一个班级

@OnApplicationStart
public class OnStartManager extends Job{
    private DataGridServiceManager  dataGridServiceManager = null;
    @Override
        public void doJob() {

               dataGridServiceManager = DataGridServiceManagerImpl.getInstance();
       }

}

这是在应用程序启动时执行,但它也在我访问其他页面甚至同一页面时执行。但我想在应用程序启动期间只执行一次。我该怎么做才能实现这一目标。

2 个答案:

答案 0 :(得分:4)

如果您在DEV模式下运行,Play有时会自动重启应用程序。这将导致@OnApplicationStart作业重新运行。也许这就是你所经历的?

引自Jobs section of Play documentation

  

在DEV模式下运行应用程序时,应用程序会等待   第一个HTTP请求启动。此外,当您处于DEV模式时,   应用程序有时会在需要时自动重启

答案 1 :(得分:0)

我在index.html加载之前处理一些信息并存储。我在@OnApplicationStart文件中使用了bootstrap.java标记。它没有汗水。