2012-01-10 25 views
0

Akka类型化参与者使用JDK代理创建为两部分,其中代理是指定接口的产品,实现形成支持受管实例。然而,这种构造手段阻止了TypedActor实现多个类型(接口)。是否有可能在Akka中使用多个接口的代理创建TypedActor?

我以为我读过某处,Akka 2.0会改变这一点。有没有人有任何想法,或如何解决?仅供参考,我在纯Java中使用Akka,而不是在此阶段的Scala

回答

1

2.0版之前的类型Actor是使用方面编织实现的,因此不是JDK代理。

在2.x的类型化的演员是基于JDK的代理,你基本上可以使用如通过JDK supprted多个接口:Supercharging

+0

感谢Viktor,这是否可以通过Java API实现增压? – magicduncan 2012-01-11 09:11:24

+0

不,这是一个疏忽,我会打开一张票。 – 2012-01-11 15:12:37

+0

顺便说一句,你可以通过创建一个类来扩展你想要代理的接口并将该类提供给typedActorOf中的“接口”。 typedActorOf将查看该类,查看它不是一个接口类,并提取它的所有接口并为您进行代理。 – 2012-01-13 09:41:20

0

有被打的演员都不是最好的官方意见(见When_to_use_Typed_Actors )。如果可以的话,尝试使用类型化消息的Untyped actor。

我们一直在使用的那种信息:

class Contact<T> 
class Signal<T>(contact:Contact<T>, data:T) 

接触的情况下很容易检查平等。 (if-elseif-elseif)通常,联系处理程序的映射足以处理所有输入。

严格类型信号的思想在SynapseGrid库中得到进一步发展。它定义了Builder将类型化的处理程序与键入的联系人相关联。

相关问题