我有一個阿卡演員。我希望在系統生命週期中的應用程序啓動時啓動這個actor。玩框架2.5從哪個文件開始
目前我已經在renderLoginPage控制器使用它:
def loginPage: Action[AnyContent] = Action.async {
implicit request =>
scheduler.sendReminder(kSessionService,userService)
Logger.debug("Redirecting renderHomePage")
}
以下是我計劃中的代碼爲演員:
class Scheduler{
val system = ActorSystem("system")
def sendReminder(kSessionService: KSessionService, userService: UserService):Unit = {
val reminder = system.actorOf(ReminderActor.props(kSessionService,userService), "reminder-actor")
reminder ! ReminderActor.Tick
}
}
現在問題出現我的是:當我從註銷應用程序再次呈現登錄頁面並嘗試創建具有相同名稱的actor。所以,我得到一個例外:
[InvalidActorNameException:演員的名字[提醒-演員]不是唯一!]
,我應該寫的代碼發起的調度。
是否要創建每個請求的演員?一種方法是使用AkkaGuiceSupport模塊。另一方面,您可以使用BalancingPool並告訴他應該創建多少個Actor。另一方面,你可以省略命名,只需調用system.actorOf(ReminderActor.props(kSessionService,userService)) – sascha10000