如何恰当地给演员一个独特的合理名称

时间:2015-07-17 12:27:48

标签: scala akka

默认情况下,Akka演员在嵌套时会得到一个名为'$ a'或'$ a。$ oi。$ abc'的名称。因此,给它们一个正确的名称是有意义的,这样你至少可以在日志中看到一些合理的名称。 但是......只能有一个具有给定名称的演员。那么如何给演员一个合理但独特的名字呢?

我已经经历过以毫秒时间戳为名称后缀是不够的。它仍会导致重复的名称异常。这是一种获得纳米时间戳的方法,但我已经读过它的价格昂贵。

如果可以使用默认的Akka命名,但后缀或带有自定义名称的前缀,那就太好了。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你可以增加一些计数器并在你创建新actor时使用它。

var counter = 0
val a = actorSystem.actorOf(Props[MyActorClass], s"actor-$counter")
counter += 1

答案 1 :(得分:0)

使用context.actorOf(...)创建角色的层次结构。所以你可以轻松避免碰撞。