Используя приведенный ниже код, я читаю и печатаю содержимое файла с использованием потоков Akka:
package playground
import java.nio.file.Paths
import akka.actor.ActorSystem
import akka.stream.scaladsl.{FileIO, Framing, Sink, Source}
import akka.util.ByteString
import akka.stream.ActorMaterializer
object Greeter extends App {
implicit val system = ActorSystem("map-management-service")
implicit val materializer = ActorMaterializer()
FileIO.fromPath(Paths.get("a.csv"))
.via(Framing.delimiter(ByteString("\n"), 256, true).map(_.utf8String)).runForeach(println)
}
Мое понимание использования потоков Akka состоит в том, что если файл изменяет / обновляет код обработки, в данном случае println
запускается, поэтому при каждом обновлении файла весь файл перечитывается.Но этого не происходит - файл читается один раз.
Как это следует изменить, чтобы каждый раз, когда файл a.csv
обновлялся, файл перечитывался и код println
перезапускался