Akka 框架建议仅将类型化的 Actor 用于与外部代码交互。但是,来自 akka 的标准 Actor 是无类型的。有没有更好的方法来创建类型安全的 Actor ?是否有其他一些 Actor 框架或围绕 akka 的类型安全包装器?
最佳答案
如果您真的想要具有静态类型的转换,那么您不妨继续在整个代码中使用类型化的 Actor 。出于几个原因,强烈建议不要这样做。
1.) 您冒着系统退化为一堆 RPC 的风险。 Actor 的接收方法很明显整个事情都是关于消息传递的,如果你只是在一个类型化的 Actor 上调用方法,那就更不用说了。
2.) Actor 真的没有类型。在运行时,actor 能够处理的消息可能会根据所处的状态而变化,就像它对这些消息所做的那样。这是对许多协议(protocol)进行建模的绝佳方式,Akka Actor 使用 FSM 对其提供一流的支持。
所以如果你真的想这样做,你可以在任何地方自由使用类型化的actors,它会起作用,但你应该在这样做之前认真考虑你要解决的问题。
关于scala - 在akka中输入消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11284507/