Akka自定义调度程序查找失败

问题描述

我仅使用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")