同一个演员的不同调度员

时间:2017-08-08 07:36:38

标签: scala akka

查看我的日志文件,我看到同一个actor的不同调度程序。那个演员是一次创造的,怎么会这样呢?是否意味着演员因撞车而重新启动? 例如:

  

[错误] [08/07/2017 19:20:22.618]   [我-SYS-akka.actor.default-调度-21]   [akka://my-sys/user/com.domain.FooActor] some_exception

     

[错误] [08/07/2017 19:20:22.619]   [我-SYS-akka.actor.default-调度-26]   [akka://my-sys/user/com.domain.FooActor] some_exception

     

[错误] [08/07/2017 19:20:22.619]   [我-SYS-akka.actor.default-调度-27]   [akka://my-sys/user/com.domain.FooActor] some_exception

1 个答案:

答案 0 :(得分:0)

我很确定您的记录器配置为记录生成日志的线程。检查你的记录器配置,但我想在第三个位置,你记录线程(上面日志中的线程名称:Buyer)。

调度程序将安排您的任务在线程池上运行。根据定义,池可以有多个线程,通过日志,您可以看到您的actor的执行是在属于单个调度程序的不同线程上进行调度。

使用给定的日志,没有明确指示您的actor崩溃/重新启动,只是表明它(或其主管)在不同线程上运行时调用了日志方法(即my-sys-akka.actor.default-dispatcher-XX)。这是预期的,因为多个(可能是数百万)个actor意味着共享几个线程(在默认调度程序的情况下取决于CPU,核心的数量......)。

你不应该指望你的演员总是在同一个线程上运行。

玩家无法在另一个调度程序上运行(除非您以这种方式明确配置它)。

相关问题