【问题标题】:Play 2.5 akka.actor.ActorSystem isTerminated method deprecated播放 2.5 akka.actor.ActorSystem isTerminated 方法已弃用
【发布时间】:2023-04-02 16:35:02
【问题描述】:

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

【问题讨论】:

    标签: java akka playframework-2.5


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-18
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2012-09-20
      • 2020-11-28
      相关资源
      最近更新 更多