1

我用 Akka 创建了一个 FSM。但是,我的 FSM 不仅收到与其 FSM 状态相关的消息。它的孩子也可以传递ActorRef给它,然后我的 FSM 应该进一步传递给它的父母。由于 Akka 中的 FSM (自然)也是演员,我想重写receive以捕捉那些ActorRefs. 然而,这样做破坏了演员的 FSM 功能。处理这种情况的正确方法是什么?

4

1 回答 1

2

与任何 FSM 状态无关的消息可以在以下方式处理whenUnhandled

whenUnhandled {
  case Event(someActorRef: ActorRef, _) =>
    context.parent ! someActorRef
    stay()
}

不过,压倒一切receive也应该起作用。

于 2016-10-15T19:55:06.237 回答