我是 Scala Akka 的新手。假設我正在培養一個Configuration兒童演員,
object Configuration {
def apply(): Behavior[ConfigurationMessage] = Behaviors.setup(context => new Configuration(context))
}
現在我需要ActorContext[ConfigurationMessage]在我的 HTTP 路由器中使用相同的背景關系來執行一些操作。
我怎樣才能在ActorContext那里創建相同的
uj5u.com熱心網友回復:
ActorContext不能在與其關聯的參與者之外使用,包括在 HTTP 路由器中。任何ActorContext從 Actor 中泄漏的內容(例如,通過將其作為訊息發送)在設計上都會拋出例外,并且如果在 Actor 之外使用,則不會對大多數操作執行任何操作。
唯一ActorContext可能在關聯參與者之外使用的操作是:
context.ask和朋友可以很容易地替換為目標上的Future-returning ,訊息發送發生在未來的回呼中。askRecipientRefforeachcontext.executionContext:可以很容易地使用system.executionContext(通常是相同的)或通過調度程式查找context.pipeToSelfforeach可能最好作為未來回呼中的發送來完成context.scheduleOnce最好直接使用系統調度程式來完成context.self有點毫無意義,因為您必須已經擁有ActorRef才能泄漏ActorContextcontext.system同樣沒有意義,因為你已經有了系統
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/508572.html
