如何解决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 举报,一经查实,本站将立刻删除。