以编程方式创建 Akka Dispatcher

Create Akka Dispatcher programmatically

我有一个按需创建演员的场景。我希望能够定义一个 Dispatcher 并以编程方式将其附加到我的演员。

交易是:我的ActorSystem已经是运行,也就是说已经加载了所有的Akka配置。

似乎 Dispatcher 必须在创建 ActorSystem 之前在 application.conf 中定义,所以我有两个问题:

  1. 是否可以在 ActorSystem 启动后添加新的 Akka 配置?

  2. 是否有另一种方法可以使用 Props[MyActor].withDispatcher("any-dispatcher") 而无需在 ActorSystem 配置中定义 Dispatcher

不行,调度器必须在actor系统启动时配置,不能动态定义。

如果您有一个可以重启 actor 系统的应用程序,配置库有以编程方式定义块的选项,因此您可以根据默认配置生成一个配置,然后将该配置传递给 ActorSystem当你创建它时。