0
我想将文件内容逐行传送给Actor。我有类似的东西:Akka Java文件IO节流
final ActorSystem system = ActorSystem.create("stream_system");
final Materializer materializer = ActorMaterializer.create(system);
final ActorRef actor = system.actorOf(Props.create(streamActor.class), "sink");
final Path file = Paths.get("path/file.txt");
Sink<ByteString, CompletionStage<Done>> printlnSink =
Sink.<ByteString> foreach(chunk -> actor.tell(chunk.utf8String(), null));
//Sink.<ByteString> actorRef(actor, null);
CompletionStage<IOResult> ioResult =
FileIO.fromPath(file)
.throttle(1, Duration.create(1, TimeUnit.SECONDS), 1, ThrottleMode.shaping())
.to(printlnSink)
.run(materializer);
未注释版本的作品,但它一次性传输整个文件内容。评论版本以“未知”消息结束。
我想逐行发送给Actor,延迟几秒钟。任何帮助如何做到这一点?接收演员只需输入String消息并将其输出。