我在application.conf中定义了一个自定义调度器,如下所示:
my-special-dispatcher {
type = Dispatcher
executor = "thread-pool-executor"
thread-pool-executor {
fixed-pool-size = 1
}
throughput = 1
}
字符串
文档中说要使用自定义分派器创建一个actor,如下所示:
context
.spawn(
yourBehavior,
"DispatcherFromConfig",
DispatcherSelector.fromConfig("your-dispatcher")
)
型
但是,我想对监护人参与者使用这个自定义调度程序,它不是通过context.spawn
创建的。
我现在创建我的actor系统和guardian actor如下:
implicit val myActorSystem: ActorSystem[MyGuardianActor.Request] = {
ActorSystem[MyGuardianActor.Request](
MyGuardianActor(),
name = "MyGuardianActorSingleton"
)
型
如何修改它以使用名为“my-special-dispatcher”的自定义调度程序?
注意:我只想为守护参与者使用自定义调度程序。系统中的所有其他参与者都应该使用默认的调度程序。
1条答案
按热度按时间acruukt91#
您有ActorSystem class,这是当您从ActorSystem companion object使用
apply
方法时得到的。在您的情况下,您使用的是一个只接收用户监护人演员和演员系统的名称字符串
这个工厂方法可以让您为守护参与者设置一个分派器
型
如您所见,最后一个参数允许您像生成查尔兹时一样设置调度程序。做一些类似下面的例子应该对你有用
型