Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework 术语生命周期中的Play框架_Playframework_Playframework 2.0 - Fatal编程技术网

Playframework 术语生命周期中的Play框架

Playframework 术语生命周期中的Play框架,playframework,playframework-2.0,Playframework,Playframework 2.0,我正试图让我的应用程序做一个宽限期完全关闭,为了实现这一点,我需要 停止接收新连接 关闭线程池(优雅地等待它们完成) 关闭应用程序 我知道你可以发送一个SIGTERM来播放,但我不确定播放收到该信号时正在做什么。你应该将ApplicationLifecycle注入你的类\模块,并添加一个停止挂钩 import scala.concurrent.Future import javax.inject._ import play.api.inject.ApplicationLifecycle @Si

我正试图让我的应用程序做一个宽限期完全关闭,为了实现这一点,我需要

  • 停止接收新连接
  • 关闭线程池(优雅地等待它们完成)
  • 关闭应用程序

  • 我知道你可以发送一个SIGTERM来播放,但我不确定播放收到该信号时正在做什么。

    你应该将
    ApplicationLifecycle
    注入你的类\模块,并添加一个停止挂钩

    import scala.concurrent.Future
    import javax.inject._
    import play.api.inject.ApplicationLifecycle
    
    @Singleton 
    class MessageQueueConnection @Inject() (lifecycle: ApplicationLifecycle) {
       val connection = connectToMessageQueue()
       lifecycle.addStopHook { () =>
          Future.successful(connection.stop())
       }
    
       //...
    }
    
    你可以多读一些