Akka发送延迟消息给自己找不到隐式ExecutionContext

时间:2013-06-25 21:22:10

标签: scala akka

我正在使用Akka 2.1.4。我需要我的一个演员向自己发送延迟信息。

我在演员的receive

中尝试过

context.system.scheduler.scheduleOnce(1 second, self, msg)

但是,它不能编译,因为它找不到隐式的ExecutionContext。我在哪里可以得到它?。

注意:我知道实际发件人不是我的演员,但这没关系,因为我不需要知道发件人是谁。

2 个答案:

答案 0 :(得分:14)

你也可以这样做:

class MyActor extends Actor{
  import context._
  ...
}

通过这种方式,您可以放心,如果调度程序与系统的主调度程序不同,您将获得分配给该actor的调度程序(这是您使用解决方案获得的)。

答案 1 :(得分:4)

我想我找到了它:

import myActorSystem.dispatcher

context.system.scheduler.scheduleOnce(1 second, self, msg)

现在它编译。<​​/ p>