【问题标题】:@OnApplicationStart not working in Play framework@OnApplicationStart 在 Play 框架中不起作用
【发布时间】:2011-09-21 06:23:31
【问题描述】:

我有课

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

               dataGridServiceManager = DataGridServiceManagerImpl.getInstance();
       }

}

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

【问题讨论】:

    标签: playframework


    【解决方案1】:

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

    引用Jobs section of Play documentation:

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

    【讨论】:

    • +1 尽管问题中的信息很少,但这几乎肯定会成为这种行为的原因。
    【解决方案2】:

    在我的index.html 加载之前,我会处理和存储一些信息。我为我的bootstrap.java 文件使用了@OnApplicationStart 标签。它不费吹灰之力就可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多