我正在运行从Kafka读取的akka流,我想在文件序列化成功时将消息提交回Kafka。但我不知道如何通知上游阶段下游的失败。
现在,我已经使用FanOutShape2[ConsumerMessage.CommittableMessage[Array[Byte], Array[Byte]],
ConsumerRecord[Array[Byte], Array[Byte]],
ConsumerMessage.CommittableOffsetBatch]
创建了一个GraphStage。
当下游接收器完成消耗所有小时分组ConsumerRecords
时,我想推送到偏移提交插座,但是我想在文件无法正确完成时保留这些提交。
所以考虑到这个简化的情节,请说我有以下流
Source(List("one", "two"))
.map(ByteString(_))
.runWith(FileIO.toPath(Paths.get("/file-in-root-will-fail.txt")))
将以IOResult(0,Failure(java.nio.file.AccessDeniedException: /file-in-root-will-fail.txt))
结尾。
我如何通知上游阶段发生这种情况?