Akka Actor Context成为Message

时间:2017-05-29 19:13:38

标签: akka

我对Akka的背景有疑问。我有以下演员:

class MyActor extends Actor {

    def active(state: State): Receive = {
    case Dispatch(power) => // Dispatch to the specified power value
      context.become(
        checkRamp(
          Observable.intervalAtFixedRate(cfg.rampRateInSeconds),
          State.dispatch(state.copy(setPoint = power))
        )
      )
      self ! SomeMessage
  }

  def checkRamp(obs: Observable[Long], state: State): Receive = {
    case SomeMessage => // do something
  }
}

上述工作会不会?我的意思是在完成上下文后,我可以向新的上下文发送消息吗?这条新邮件是否已保留?当然我可以试试,但只是想知道。如果这不起作用,有什么替代方案?我想切换上下文并向新上下文发送消息!

1 个答案:

答案 0 :(得分:0)

我没有完全理解你的意思"我可以向新的上下文发送消息",但基本上,当你在一个actor中切换上下文时,你会在收到一个时更改它的行为消息,使checkRamp成为接收消息时调用的方法,而不是原始receive。 如果这还没有回答你的问题,你能不能详细说明你的意思"向新的背景发送信息"?