私はこのパターンを実際に実装しようとしています:
class MyController extends Controller {
def getStuff(actorPath: String) = {
implicit request => Async {
val myFutureStuff = system.actorSelection(actorPath) ? FindStuff()
// Handle the result
}
}
}
しかし、どうやら ActorSelection を "尋ねる" ことはできず、ActorRef だけを "尋ねる" ことはできません。
したがって、ActorSelection から ActorRef を取得する必要があります。つまり、「Identify」メッセージを ActorSelection に送信し、応答を取得する必要があります。ただし、コントローラー内からこれを行う簡単な方法を見つけることができません。アクターは「Identify」の応答を送信する方法がないためです。
私が見た例では、人々がコントローラーを介してアクターと通信する場合、ActorRef を直接使用しています。私のアプリケーションでは、これらの ActorRef にしがみつきたくありません。代わりに、私は彼らに火をつけて、彼らと通信する必要があるまで放っておきます. その場合、パスを介してハンドルを取得し、情報を尋ねられるようにしたいと考えています。
アクター バックエンド/プレイ フロントエンド アプローチを使用しながら、私がやりたいことを行うためのより良い方法はありますか?
どうもありがとう