scala:akka群集不起作用 - 演员不要开始

时间:2015-09-28 00:14:24

标签: scala akka akka-cluster

这就是我的application.conf中的actor部分的样子 -

  actor {
    provider = "akka.cluster.ClusterActorRefProvider"
    unstarted-push-timeout = 100s
    default-mailbox {
      mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
      mailbox-push-timeout-time = 2s
    }
    default-dispatcher {
      type = Dispatcher
      executor = "fork-join-executor"
      fork-join-executor {
        parallelism-min = 16
        parallelism-factor = 4.0
        parallelism-max = 64
      }
      throughput = 1
    }
    job-manager-dispatcher {
      type = Dispatcher
      executor = "fork-join-executor"
      fork-join-executor {
        parallelism-min = 16
        parallelism-factor = 4.0
        parallelism-max = 64
      }
      throughput = 1
    }
  }
  remote {
    log-remote-lifecycle-events = on
    netty.tcp {
      hostname = "0.0.0.0"
      port = 2557
    }
  }
  extensions = [
    "akka.contrib.pattern.DistributedPubSubExtension"
  ]
  cluster {
    seed-nodes = [
      "akka.tcp://dispatcher@0.0.0.0:2557"
    ]
    auto-down-unreachable-after = 30s
  }
}

akka.contrib.cluster.pub-sub {
  name = dispatcherPubSubMediator
  role = ""
  routing-logic = round-robin
  gossip-interval = 1s
  removed-time-to-live = 120s
}

这就是我创建演员的方式 -

val aRef = instances match {
      case 1 =>
        system.actorOf(Props[T].withDispatcher(dispatcher), name)
      case _ =>
        system.actorOf(
          ClusterRouterPool(AdaptiveLoadBalancingPool(
            SystemLoadAverageMetricsSelector), ClusterRouterPoolSettings(
            totalInstances = instances * 64, maxInstancesPerNode = instances,
            allowLocalRoutees = isLocal, useRole = None)
        ).props(Props[T]).withDispatcher(dispatcher), name)
    }
    ClusterReceptionistExtension(system).registerService(aRef)

单个实例(本地)创建工作正常。但是集群池实例化不起作用(没有异常/错误,但是没有调用构造函数/ preStart等。

任何帮助表示赞赏。

0 个答案:

没有答案