两种方式的区别,以初始化Akka路由器

时间:2017-04-12 15:28:04

标签: akka actor

我的系统运行Play framework 2.5和Akka内置版。我相信有两种方法可以启动路由器。

1:

fun main(args: Array<String>) = runBlocking {
    fun a() = async(CommonPool) {
        println("start A")
        delay(1000)
        println("finish A")
    }

    fun b() = async(CommonPool) {
        println("start B")
        delay(1000)
        println("finish B")
    }

    //case 1
    a().await()
    b().await()

    //case 2
    val A = a()
    val B = b()
    A.await()
    B.await()
}

2:

ActorRef router = akkaService.getActorSystem()
  .actorOf(new RoundRobinPool(poolSize)
  .props(Props.create(ProfileActor.class)), "ProfileActor");

所以我有两个问题:

  • 他们有什么不同吗?
  • 哪种方式更好?

非常感谢你!

1 个答案:

答案 0 :(得分:0)

不同之处在于当前版本的Akka(2.4.x)支持数字1,而数字2已停止使用。

RoundRobinRouter是Akka 2.2.x的一部分,并且已在Akka 2.3.x中首次弃用(请参阅docs),然后在Akka 2.4.x中删除。