Я пробовал новый плагин PlayService sbt, представленный в Play 2.6 (моя точная версия Play - 2.6.20), и я хочу использовать стоп-лок приложения, как упомянуто в приведенной ниже ссылке, с этим плагином PlayService на основе Play.project.
https://www.playframework.com/documentation/2.6.x/JavaDependencyInjection#Stopping/cleaning-up
Мой код выглядит следующим образом:
@Singleton
public class LtrBootStrapper {
@Inject
public LtrBootStrapper(ApplicationLifecycle applicationLifecycle) {
//Other functionalities
//Actual components to stop inside stop hook to be added later on
applicationLifecycle.addStopHook(() -> CompletableFuture.completedFuture(null));
}
}
Однако, когда я запускаю приложение, оно не запускается со следующим исключением.
1 ошибка] в play.core.server.DevServerStart $$ anon $ 1.reload (DevServerStart.scala: 186) в play.core.server.DevServerStart $$ anon $ 1.get (DevServerStart.scala: 124) at play.core.server.AkkaHttpServer.handleRequest (AkkaHttpServer.scala: 241) на play.core.server.AkkaHttpServer. $ Anonfun $ createServerBinding $ 1 (AkkaHttpServer.scala: 138) atk.MapAsyncUnordered $$ anon $ 26.onPush (Ops.scala: 1304) в akka.stream.impl.fusing.GraphInterpreter.processPush (GraphInterpreter.scala: 519) в akka.stream.impl.fusing.GraphInterpreter.processEvent (GraphInterpreter.scala:482) наkka.stream.impl.fusing.GraphInterpreter.execute (GraphInterpreter.scala: 378) в akka.stream.impl.fusing.GraphInterpreterShell.runBatch (ActorGraphInterpreter.scala: 588) в akka.stream.impl.fusing.GraphInterpreterSputyn $.execute (ActorGraphInterpreter.scala: 472) Причина: com.google.inject.CreationException: невозможно создать инжектор, см. следующие ошибки:
1) Нет реализации для play.inject.ApplicationLifecycle был привязан.
при поиске play.inject.ApplicationLifecycle для 1-го параметра com.mycompany.ltr.startup.LtrBootStrapper. (LtrBootStrapper.java:22)
Означает ли это, что приложения PlayServiceне поддерживает ApplicationLifecycle?Если да, то каков альтернативный вариант для стоп-хука в приложениях PlayService?
Заранее спасибо.