如何运行playframework上的外部线程

时间:2018-04-18 10:19:26

标签: java playframework-2.2

我们在playframework 2.2.6

上运行了一项服务

在应用程序启动时启动此线程(在onStart方法中)启动以下线程:

@Override
public void run(){
  try{
     System.out.println("print my server stats...");
     Thread.sleep(1000);
     Thread t = new Thread(this);
     t.start();
  }catch(Exception e){

  }
}

这段代码在开始时顺利运行(由于Thread.sleep(1000)而每隔一秒运行一次,但是在几个小时后它会连续减速,每隔5秒左右打印一次。

所以我的问题:

  1. 如何在play框架中处理这段代码?
  2. 当我们调用thread.start()的时候会发生什么,它是否使用play framework threadPool?
  3. 有没有办法确保这段代码获得足够的资源(即每1秒打印一次(ish))
  4. 注意:我感谢这不是一个线程应该如何循环但是它的遗留代码而我无法改变它

    另外值得注意的是,这段代码在所有其他服务中共享,其中只有一个有此问题(最常用的应用程序)

0 个答案:

没有答案