отправитель внутри будущего
У меня есть актер, который при получении сообщения ищет файловую систему и возвращает полный путь к файлу.
Чтобы сохранить его асинхронным, я сделал:
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")
}
}
}
Но я заметил, что он возвращает сообщениеakka://FileSystem/deadLetters
а неsender
, Документация говорит, что:
Действует только внутри самого актера, поэтому не закрывайте его и * публикуйте в других потоках!
Значит ли это, что мне придется поддерживать синхронность? Есть ли другой способ?