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

klh5stk1  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(572)

我正在使用java,但是scala解决方案就可以了(我会尝试翻译它)。
我有个演员 AbstractActorWithTimers . 当参与者被创建时,会启动一个具有is生命周期的计时器(大约60秒):

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

我给这个计时器起了个名字: lifespan . 现在,当我收到一条特定的信息时,我想把这个计时器上剩下的时间还给你。
我怎样才能得到这个特定计时器的剩余时间?
我只找到了一种方法来检查计时器是否处于活动状态:

getTimers().isTimerActive("lifespan");
rsl1atfo

rsl1atfo1#

可以通过使用actor创建的时间戳启动actor来解决此问题。然后当你收到一个特定的消息时,你会使用这个时间戳来获得剩余的时间。我不认为有一个api允许询问计时器的内部状态。

相关问题