播放2.5 akka.actor.ActorSystem isTerminated方法已弃用

时间:2016-07-20 16:03:43

标签: java akka playframework-2.5

我将项目升级到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。但是,我不确定如何在此处正确地重构此代码,因为在终止时,似乎具有完全不同的功能。如果有人给我一个关于此的建议 - 这将非常有帮助。

1 个答案:

答案 0 :(得分:1)

ActorSystem.whenTerminated返回Future<Terminated>,这是一个Scala数据结构,与{8}中的CompletableFuture非常相似。您可以通过方法.isCompleted()查询是否已完成模仿你的旧逻辑。