相关疑难解决方法(0)

发件人在未来

我有一个接收消息的actor,在文件系统中搜索文件并返回File的完整路径.

为了保持异步,我做了:

def receive = {
  case s:String => {

    val f = future{
      val ans = search(s)
      println("Input Request: "+s+" output:"+ans+" "+sender.path)
    }
    f.onComplete{
      case Success(x) => sender ! x
      case Failure(y) => println("Could not complete it")
    }
  } 
}
Run Code Online (Sandbox Code Playgroud)

但我观察到它将消息返回给akka://FileSystem/deadLetters而不是sender.文档说:

仅在Actor本身内有效,所以不要关闭它并将其发布到其他线程!

这是什么意思,我必须保持同步?还有其他方法吗?

scala akka

19
推荐指数
1
解决办法
3932
查看次数

标签 统计

akka ×1

scala ×1