我将项目升级到Play 2.5。在之前的版本中,我使用以下代码通过Akka安排任务:
private ActorSystem actorSystem = Play.current().injector().instanceOf(ActorSystem.class);
private void scheduleUpdate() {
if (actorSystem.isTerminated()) {
return;
}
//run schedule code
}
但isTerminated方法(返回布尔值)现在已弃用,我鼓励使用whenTerminated。但是,我不确定如何在此处正确地重构此代码,因为在终止时,似乎具有完全不同的功能。如果有人给我一个关于此的建议 - 这将非常有帮助。
答案 0 :(得分:1)
ActorSystem.whenTerminated
返回Future<Terminated>
,这是一个Scala数据结构,与{8}中的CompletableFuture
非常相似。您可以通过方法.isCompleted()
查询是否已完成模仿你的旧逻辑。