简体   繁体   English

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

[英]Play 2.5 akka.actor.ActorSystem isTerminated method deprecated

I'm upgrading my project to Play 2.5. 我正在将项目升级到Play 2.5。 In the previous version I used the following code to schedule task via Akka: 在以前的版本中,我使用以下代码通过Akka安排任务:

private ActorSystem actorSystem = Play.current().injector().instanceOf(ActorSystem.class);

    private void scheduleUpdate() {
        if (actorSystem.isTerminated()) {
            return;
        }
        //run schedule code
    }

But isTerminated method (returning boolean) is deprecated now and I'm encouraged to use whenTerminated instead. 但是现在不赞成使用isTerminated方法(返回布尔值),因此建议改为使用whenTerminated。 However, I'm not sure how to properly refactor this code here, since whenTerminated seems to have completely different functionality. 但是,我不确定如何在此处正确重构此代码,因为whenTerminated似乎具有完全不同的功能。 If someone gives me an advice about this - it would be quite helpful. 如果有人给我有关此的建议-会很有帮助。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM