akka.remote.RemoteTransportException:没有为协议加载传输

时间:2014-05-23 10:50:49

标签: tcp akka akka-remote-actor

我注意到Akka 2.3.2没有akka-remote-test-experiment。任何人都可以向我建议如何解决这个问题:

[ERROR] [05/23/2014 12:33:38.765] [Configurations-akka.actor.default-dispatcher-15] [akka://Configurations/system/cluster/core/daemon/joinSeedNodeProcess-1] No transport is loaded for protocol: [akka], available protocols: [akka.tcp]
akka.remote.RemoteTransportException: No transport is loaded for protocol: [akka], available protocols: [akka.tcp]
    at akka.remote.Remoting$.localAddressForRemote(Remoting.scala:80)
    at akka.remote.Remoting.localAddressForRemote(Remoting.scala:122)
    at akka.remote.RemoteActorRefProvider.rootGuardianAt(RemoteActorRefProvider.scala:338)
    at akka.actor.ActorRefFactory$class.actorSelection(ActorRefProvider.scala:318)
    at akka.actor.ActorCell.actorSelection(ActorCell.scala:369)
    at akka.cluster.JoinSeedNodeProcess$$anonfun$receive$4$$anonfun$applyOrElse$1.applyOrElse(ClusterDaemon.scala:1084)
    at akka.cluster.JoinSeedNodeProcess$$anonfun$receive$4$$anonfun$applyOrElse$1.applyOrElse(ClusterDaemon.scala:1083)
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
    at scala.collection.TraversableLike$$anonfun$collect$1.apply(TraversableLike.scala:278)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
    at scala.collection.TraversableLike$class.collect(TraversableLike.scala:278)
    at scala.collection.AbstractTraversable.collect(Traversable.scala:105)
    at akka.cluster.JoinSeedNodeProcess$$anonfun$receive$4.applyOrElse(ClusterDaemon.scala:1083)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
    at akka.cluster.JoinSeedNodeProcess.aroundReceive(ClusterDaemon.scala:1067)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
    at akka.actor.ActorCell.invoke(ActorCell.scala:487)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
    at akka.dispatch.Mailbox.run(Mailbox.scala:220)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

2 个答案:

答案 0 :(得分:4)

这与马里奥的答案相同,只是语法不同。变化

val remote = context.actorFor("akka://RemoteSystem@127.0.0.1:5150/user/RemoteActor")

val remote = context.actorFor("akka.tcp://RemoteSystem@127.0.0.1:5150/user/RemoteActor")

答案 1 :(得分:1)

在创建akka.actor.Address的实例时,这看起来很像问题。要使远程处理工作,第一个参数必须是"akka.tcp"而不是"akka"

val addr = Address("akka.tcp", "actorSystem", hostname, port)