Akka類型化參與者使用JDK代理創建爲兩部分,其中代理是指定接口的產品,實現形成支持受管實例。然而,這種構造手段阻止了TypedActor實現多個類型(接口)。是否有可能在Akka中使用多個接口的代理創建TypedActor?
我以爲我讀過某處,Akka 2.0會改變這一點。有沒有人有任何想法,或如何解決?僅供參考,我在純Java中使用Akka,而不是在此階段的Scala
Akka類型化參與者使用JDK代理創建爲兩部分,其中代理是指定接口的產品,實現形成支持受管實例。然而,這種構造手段阻止了TypedActor實現多個類型(接口)。是否有可能在Akka中使用多個接口的代理創建TypedActor?
我以爲我讀過某處,Akka 2.0會改變這一點。有沒有人有任何想法,或如何解決?僅供參考,我在純Java中使用Akka,而不是在此階段的Scala
2.0版之前的類型Actor是使用方面編織實現的,因此不是JDK代理。
在2.x的類型化的演員是基於JDK的代理,你基本上可以使用如通過JDK supprted多個接口:Supercharging
有被打的演員都不是最好的官方意見(見When_to_use_Typed_Actors )。如果可以的話,嘗試使用類型化消息的Untyped actor。
我們一直在使用的那種信息:
class Contact<T>
class Signal<T>(contact:Contact<T>, data:T)
接觸的情況下很容易檢查平等。 (if-elseif-elseif)通常,聯繫處理程序的映射足以處理所有輸入。
嚴格類型信號的思想在SynapseGrid庫中得到進一步發展。它定義了Builder將類型化的處理程序與鍵入的聯繫人相關聯。
感謝Viktor,這是否可以通過Java API實現增壓? – magicduncan 2012-01-11 09:11:24
不,這是一個疏忽,我會打開一張票。 – 2012-01-11 15:12:37
順便說一句,你可以通過創建一個類來擴展你想要代理的接口並將該類提供給typedActorOf中的「接口」。 typedActorOf將查看該類,查看它不是一個接口類,並提取它的所有接口併爲您進行代理。 – 2012-01-13 09:41:20