在不同 JVM 上的远程 Akka 参与者之间发送消息是否安全/可行?我怀疑不是。那么我怎样才能实现以下目标。关键方面是试图让回复(Ack)返回未来的结果,以及允许取消的引用。
case class BigJob()
case class Ack(jobId: Long, result: Future[Int])
case class Cancel(jobID: Long)
val ack = (remoteActor ? BigJob()).mapTo[Ack]
if(changedMyMind) remoteActor ! Cancel(ack.jobID)
else ack.result foreach println
更新:我正在使用 Scala 2.10.1 和 Akka 2.1.2