Play 2.0 アプリ内で Akka アクターを使い始めました。次の方法で指定された、同じアクターにメッセージを送信するための呼び出しが繰り返されていることにすぐに気付きました。
val myActor = Akka.system.actorOf(Props[MyActor], name = "myactor")
となりましたInvalidActorNameException
。
次に、このドキュメントでアクターの作成について読み始めました。
ドキュメントは、そこに指定されたすべての個々のアクターを使用して「マスター」アクター クラスを作成することを推奨しているようです。次にreceive
、このアクター クラスの がメッセージに一致し、メッセージを適切なアクターに委任します。
だから私はこれを試してみましたが、今は次のようなものがあります:
class MasterActor extends Actor{
import context._
val emailActor = actorOf(Props[EmailActor], name = "emailActor")
protected def receive = {
case reminder : BirthdayReminder => emailActor ! reminder
}
}
問題は、私が以前と同じ状況にあることです。InvalidActorNameException
次のようなことをしようとしたときに回避する方法がわかりません:
val myActor = Akka.system.actorOf(Props[MasterActor], name = "MasterActor")
myActor ! BirthdayReminder(someBirthday)
アクターを整理する正しい方法は何ですか?