问题描述
我仅使用akka来获取调度程序并为ExecutionContextExecutor做底层设计。当我发现它的调度程序配置比Java容易得多时。我没有使用任何akka演员。仅尝试查找在application.conf
中定义的自定义调度程序,然后在我的scala应用中将其与将来的和并行的集合一起使用。
psuedo application.conf:
akka {
my-executor {
...
}
}
现在,我对akka docs中的以下行感到困惑:
查找调度程序
implicit val executionContext = system.dispatchers.lookup("my-dispatcher")
https://doc.akka.io/docs/akka/2.5.24//dispatchers.html
它指的是什么system
(ActorSystem),它知道application.conf中定义的所有执行程序配置,或者能够从中创建调度程序?
因为我尝试了以下操作,但失败了:
implicit val actorSysterm = ActorSystem()
actorSysterm.dispatchers.lookup("akka.my-executor") //Error: akka.ConfigurationException: dispatcher [akka.my-executor] not configured
解决方法
您可以在application.conf中尝试吗(请注意配置位于顶层而不是嵌套在akka中)
my-executor {
...
}
在您的应用程序代码中:
implicit val actorSysterm = ActorSystem()
actorSysterm.dispatchers.lookup("my-executor")