在Akka 2.2.0中,我有一个轮询路由的Actor,我想在其上设置一个自定义调度程序。
在我的
现在,当我尝试像这样创建这个演员时:
在我的
application.conf
文件中,我有以下内容:durable-dispatcher {
mailbox-type = akka.actor.mailbox.filebased.FileBasedMailboxType
}
akka.actor.deployment {
/notificationServiceWorkers {
dispatcher = durable-dispatcher
router = round-robin
nr-of-instances = 5
}
}
现在,当我尝试像这样创建这个演员时:
ActorRef notificationServiceWorkers = akka.actorOf(Props.create(NotificationServiceActor.class)
.withRouter(new FromConfig()), "notificationServiceWorkers")
调度程序没有从配置中获取,它使用默认的调度程序。
如果我删除.withRouter
,Akka可以很好地获取调度程序的配置,但显然不再路由。
如果我像这样添加.withDispatcher
;
ActorRef notificationServiceWorkers = akka.actorOf(Props.create(NotificationServiceActor.class)
.withDispatcher("durable-dispatcher")
.withRouter(new FromConfig()), "notificationServiceWorkers")
一切都正常运行。问题是(从文档中不清楚),如果我想要从 application.conf 加载调度程序和路由器配置,为什么需要在创建 Props 时同时提供两者?这是一个错误吗?