Akka Typed使用JDK代理创建两部分,其中代理是指定接口的产品,实现形成支持托管实例。但是,这种构造方法会阻止TypedActor实现多个类型(接口)。
我以为我读过Akka 2.0会改变它的地方。有没有人对此有任何想法,或如何解决?仅供参考,我在纯Java中使用Akka,而不是在现阶段使用Scala
答案 0 :(得分:1)
2.0之前的Typed Actors是使用纵横编织实现的,因此不是JDK代理。
2.x中的Typed Actors基于JDK代理,您基本上可以使用JDK所支持的接口:Supercharging
答案 1 :(得分:0)
有一种官方观点认为,Typed演员不是最好的(见When_to_use_Typed_Actors)。如果可以尝试使用带有类型消息的Untyped actors。
我们一直在使用那种消息:
class Contact<T>
class Signal<T>(contact:Contact<T>, data:T)
联系实例很容易检查是否相等。 (if-elseif-elseif)通常,联系处理程序的映射足以处理所有输入。
在SynapseGrid库中进一步开发了严格类型信号的概念。它定义了Builder,将类型化处理程序与键入的联系人关联起来。