對於Akka 2.2我如何獲得對TypedActor的引用。對於無類型的Actor,我們建議使用ActorSelection,然後在ActorSelection上使用tell。我應該爲TypedActor做些什麼?如何獲取在Akka中鍵入actor實現的actor參考?
0
A
回答
2
我不使用類型化的演員,但是我會根據文檔和一些猜測工作,無論如何回答這個問題。我不相信類型演員和ActorSelection
直接在一起工作。如果你考慮一個ActorSelection
,它實際上代表了0到很多實際的ActorRef
s,它們與actorSelection
調用中使用的任何查詢匹配。如果您想將相同的消息廣播給一組演員,這種選擇適用於無類型的演員。在這之前坐下一個類型化的代理似乎沒什麼意義,因爲我不能想到大量的用例,希望縮小打字範圍並將其廣播到一組可能的目的地並可能接收到響應(即ask
)。
現在,如果你有一個ActorSelection
,並且要查詢該選擇爲其下一個裁判(通過使用Identify
或resolveOne
),你回來了ActorRef
,那麼你可以捕捉在前面一個類型的演員代理它像這樣:
val typedActor =
TypedActor(system).typedActorOf(TypedProps[MyTypedActor],myLookedUpRef)
這種技術基本上需要擡頭非類型化的演員,它縮小成一個TypedActor
,你現在可以通過TypedActor
s接口通信。
相關問題
- 1. 如何在Akka Actor中實現receive()
- 2. 如何從ActorFlow獲取actor參考(ActorRef)?
- 3. Akka - 實現自定義DeadLetterListener actor
- 4. 掃描Akka Actor
- 5. Akka Logging outside Actor
- 6. 如何測試Akka Persistence actor
- 7. 如何使用Logging入Akka actor?
- 8. 羣集中Akka actor的發現
- 9. Java Akka Actor with spring
- 10. Scalatest FunSuite和Akka Actor
- 11. 如何在actor模型中實現MVCC
- 12. 識別Akka Actor的多個實例
- 13. Akka actor的異常處理
- 14. 如何使用Akka actor的@Singleton?
- 15. 如何從akka actor獲取消息隊列的大小?
- 16. LibGdx:如何在Actor上實現手勢
- 17. Akka Actor hotswapping using rest api
- 18. Akka actor無限循環
- 19. Akka Routing:Recipient Actor已經死了
- 20. 如何從2.0開始Akka Actor?
- 21. 如何處理多個Akka Actor?
- 22. 如何設置akka Actor容錯?
- 23. Scaldi依賴注入和Akka Actor
- 24. 我們如何實例化Akka Actor中的構造函數?
- 25. 在IDE中「逐行」調試specefic akka actor?
- 26. 在噴霧路線中鏈接Akka Actor
- 27. 訪問Actor中的AKKA郵箱對象
- 28. akka/actor模型中的同步呼叫
- 29. 訪問mixin中的Akka Actor上下文
- 30. 如何檢查Akka actor是否存在(akka 2.2)?
感謝您的詳細回覆。我沒有意識到,當你將'ActorRef'傳遞給'typedActorOf'時,它將它縮小爲所需的類型。唯一的問題是,要獲得'ActorRef',你必須在選擇時執行'resolveOne()'並且是一個異步操作,它需要一些代碼。我找到了以下票據,並鏈接到有關Google網上論壇的討論:[link](https://www.assembla.com/spaces/akka/tickets/3716?comment=419485183)。比較使用'TypedActor'所需的代碼量與簡單的'actorSelect! msg'讓你思考如果使用類型演員的話。 – andruha
是的,在使用TypedActors之前,應該考慮三次。 –