微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Akka 演员在计时器上获得剩余时间

如何解决Akka 演员在计时器上获得剩余时间

我使用的是 Java,但 Scala 解决方案会很好(我会尝试翻译它)。

我有一个实现 AbstractActorWithTimers 的 actor。当演员被创建时,一个生命周期的计时器将启动(大约 60 秒):

    private void setLifeSpanTimer(){
        getTimers().startSingleTimer("lifespan",PoisonPill.getInstance(),this.lifeSpan);
    }

我为这个计时器命名:lifespan。现在,当我收到一条特定的消息时,我想返回此计时器上剩余的时间。

我怎样才能获得这个特定计时器的剩余时间?

我只找到了一种检查计时器是否处于活动状态的方法

        getTimers().isTimerActive("lifespan");

解决方法

您可以通过使用 Actor 创建的时间戳来启动 Actor 来解决此问题。然后在收到特定消息时,您将使用此时间戳来获取剩余时间。我认为没有允许向计时器询问其内部状态的 API。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。