我对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
}
}
上述工作会不会?我的意思是在完成上下文后,我可以向新的上下文发送消息吗?这条新邮件是否已保留?当然我可以试试,但只是想知道。如果这不起作用,有什么替代方案?我想切换上下文并向新上下文发送消息!
答案 0 :(得分:0)
我没有完全理解你的意思"我可以向新的上下文发送消息",但基本上,当你在一个actor中切换上下文时,你会在收到一个时更改它的行为消息,使checkRamp
成为接收消息时调用的方法,而不是原始receive
。
如果这还没有回答你的问题,你能不能详细说明你的意思"向新的背景发送信息"?