【发布时间】:2011-09-13 19:22:03
【问题描述】:
Akka 1.1.3 文档指出“[t]he become 方法可用于许多不同的事情,但它的一个特别好的示例是用于实现有限状态机 (FSM) 的示例。”在运行时热交换 Akka Actor 的实现还有哪些其他用例?
ActorRef 特征中的 actorClass 方法已被弃用,并带有以下消息:“将被删除而不替换,面对 become 和 unbecome 没有任何意义。”有人可以解释一下吗?
【问题讨论】:
Akka 1.1.3 文档指出“[t]he become 方法可用于许多不同的事情,但它的一个特别好的示例是用于实现有限状态机 (FSM) 的示例。”在运行时热交换 Akka Actor 的实现还有哪些其他用例?
ActorRef 特征中的 actorClass 方法已被弃用,并带有以下消息:“将被删除而不替换,面对 become 和 unbecome 没有任何意义。”有人可以解释一下吗?
【问题讨论】:
对于问题 1:编码变量行为:
http://klangism.tumblr.com/post/968180337/dining-hakkers
对于问题 2:
知道演员的支持类名是没有意义的,因为它不会告诉你任何关于行为的信息。由于可以重新绑定服务,并且无法交换此类信息,因此远程处理也无法可靠地工作。本质上 actorClassName 违反了告诉-不要-问
【讨论】:
您可以在不中断服务的情况下进行软件升级。您可以动态加载新行为,然后将其与旧行为热交换。
【讨论】: