0
:Akka-Http:アクターからの返信を返すには?私は「頼む」パターンと要求内の俳優を使用しています
val route =
pathPrefix("myapp") {
path("search") {
get {
(mainActorRef ? DoSomething("foo")).mapTo[ReturningType].map { result =>
complete(HttpEntity(ContentTypes.`application/json`, result))
}
}
}
}
問題は、メインの俳優が他の俳優と通信し、このように、これらの俳優の一人から戻って答えを得ることです:
class MainActor extends Actor {
override def receive: Receive = {
case d:DoSomething =>
anotherActor ! DoThis(d)
// received from anotherActor as reply to DoThis
case r:DoThisResponse =>
// how do I send the response back to my “route”?
pipe (Future{r}) to ???
}
}
この回答をAkka-Httpに返信するにはどうすればよいですか?
メインのアクタで「sender()」を使用すると、正しい参照ではないため、機能しません。 DoSomething
で、主役の中で "tell"(!)を使用するための参照をいくつか渡す必要がありますか?このリファレンスをどのように渡すのですか?
私が試したが、それは動作しません。私は前方にそれをする方法を見ることができません。 – Randomize
Strange。フォワードを使用するとどうなりますか? –
DoSomethingのように、何らかの時点でDoThisResponseを送信する他のアクタ内の何かを前方トリガーするものはありません。 – Randomize