我已經演員MainActor
初始化和發送兩個其他子的消息,並期待返回結果。所以MainActor
有兩個小孩演員SubActorA
和SubActorB
。Akka開始和訪問演員返回的數據
基本上我想建立一個模型時,從子參與者的數據已經到達我將能夠在某個地方訪問它在更高的層次(類初始化MainActor
)
比如我有兩個任務100毫秒。如果SubActorA
已經在70毫秒內返回了數據,但SubActorB
需要更多時間,那麼它將會有30毫秒多的時間,畢竟任務將被放棄,但我仍然對數據感興趣,並希望即使某些子任務具有訪問權限時間喝。
問題:
我如何限制在100 ms整個執行,以便在將來,我將能夠從每個演員部分訪問數據嗎?
如何從最高級別的角色訪問數據?我無法一直將數據從
UntypedActor
延伸到更高級別,並將消息發送到更高級別。我試圖創建一個WrapperHandler
,它將初始化MainActor
,但不幸的是得到異常You have to use one of the 'actorOf' factory methods to create a new actor.
當然,我可以使用actorOf
方法來執行此操作,並調用.tell()
方法向啓動所有作業的actor發送消息。但是,如果我不擴展UntypedActor
而不是覆蓋onRecieve()
方法,我如何獲得回覆?
感謝您的幫助!
非常感謝!我的MainActor應該回復誰?我試着回覆'getContext()。parent()。tell(message,getSelf());'但它失敗並且超時。你知道可能的原因嗎? –
你必須回覆發件人。 – Ryan
但是由於'MainActor'在我理解的發件人引用中從'SubActorA'收到當前消息(它想要在演員之外轉發)會產生一個無限循環? –