【问题标题】:value resolveOne is not a member of akka.actor.ActorSelection值 resolveOne 不是 akka.actor.ActorSelection 的成员
【发布时间】:2013-10-17 09:07:18
【问题描述】:

我从这里收到上述错误消息:

implicit val askTimeout = Timeout(60 seconds)
val workerFuture = workerContext actorSelection(payload.classname) resolveOne()
val worker = Await.result(workerFuture, 10 seconds)
worker ask Landau(List("1", "2", "3"))

特别是从第二行.. 所做的导入是

import akka.actor._
import akka.util.Timeout
import akka.pattern.{ ask, pipe }
import scala.concurrent.duration._
import scala.concurrent.Await
import java.util.concurrent.TimeUnit

akka 版本是 2.2.1,scala 是 2.10.2,我使用 sbt 0.13 来构建它。 我真的不明白出了什么问题,因为 resolveOne 肯定来自那个包..

编辑:我用

打印了类的所有方法
ActorSelection.getClass.getMethods.map(_.getName).foreach { p => println(p)}

结果如下:

apply
toScala
wait
wait
wait
equals
toString
hashCode
getClass
notify
notifyAll

【问题讨论】:

  • resolveOne 是在 akka 2.2.1 版中添加的。确保您使用的不是 2.2.0 版
  • 在 sbt 中,我正在使用 scala-action v2.2.1 构建 ..
  • 您正在打印 ActorSelection 伴生对象的方法,ActorSelection 类一直有一个tell 方法。

标签: scala akka


【解决方案1】:

我遇到了同样的问题,并按照以下链接中的说明更改了我的 Scala 和 Akka 版本。 为了简单起见,我将 build.sbt 的一部分带到这里:

scalaVersion := "2.10.4"

resolvers += "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/"

libraryDependencies ++= Seq("com.typesafe.akka" %% "akka-actor" % "2.4-SNAPSHOT")

链接:http://doc.akka.io/docs/akka/snapshot/intro/getting-started.html

【讨论】:

    猜你喜欢
    • 2017-11-19
    • 2020-07-17
    • 2017-01-05
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多