【发布时间】:2013-08-26 03:40:02
【问题描述】:
在 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 创建中同时提供这两者?这是一个错误吗?
【问题讨论】: