【发布时间】:2016-09-19 07:19:59
【问题描述】:
Scala 中的Actor trait 是这样定义的,
/**
* User overridable definition the strategy to use for supervising
* child actors.
*/
def supervisorStrategy: SupervisorStrategy = SupervisorStrategy.defaultStrategy
但是我看到具体参与者的所有示例代码都定义如下,
override val supervisorStrategy = OneForOneStrategy(loggingEnabled = false) {
...
}
我想了解的是为什么 supervisorStrategy 被覆盖为 val ?
为什么不将其覆盖为def?
是不是因为内存的考虑,比如我们不想每次调用方法时都进行这个评估?
【问题讨论】:
-
看看here。
标签: scala akka akka-supervision akka-actor