4

假设我想在 akka 中实现 ProgrammableRemote -

   ProgrammableRemote

    - WatchMovie
          1. Tv ! PowerOn
          1.1 Tv ! ChangeInput 3
          2. DVD ! PowerOn
          3. AVReceiver ! PowerOn
          3.1 AVReceiver ! SetInput 'DVD'

我可以使用期货对 1 和 1.1(以及 3. 和 3.1)进行排序。但是,这将导致 1.1 在与参与者的接收线程不同的线程上运行。如果我使用“pipeTo self”,我将需要以“接收”方法处理来自电视的“开机完成”消息的情况。

理想情况下,我希望能够扩展演员的接收,以根据未完成的请求动态处理来自其他演员的回复。这个用例在akka中有什么解决方案吗?

4

1 回答 1

1

我只是发送消息,每个发件人都保留它们的顺序,因此如果您在打开电源之前获得 ChangeInput,无论如何您都需要处理它。使用“成为”或 Akka FSM DSL 来编码不同的状态以及在每个状态中哪些命令是可能的。

于 2012-10-21T11:38:53.570 回答