首页 > 解决方案 > Akka 自定义调度程序查找失败

问题描述

免责声明:我只使用 akka 来获取调度程序和底层 ExecutionContextExecutor。我没有使用任何 akka 演员。我查找在配置文件中定义的自定义调度程序application.conf,然后在我的 scala 应用程序中使用它,并与未来和并行集合一起使用。

伪应用程序.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

标签: scalaakka

解决方案


您可以在 application.conf 中尝试吗(注意配置位于顶层而不是嵌套在 akka 中)

my-executor {
  ...
}

在您的应用程序代码中:

implicit val actorSysterm = ActorSystem() 
actorSysterm.dispatchers.lookup("my-executor")

推荐阅读