如何解决Hazelcast Jet接收器上的“ onComplete”事件?
在典型的管道方案中,假设我有一个有界流,我从文件中读取该流。在Jet中,有什么方法可以订阅“ OnComplete”事件,一旦将流写入接收器,该事件将被触发? 我似乎找不到这种选择。我想要下面的东西。
p.readFrom(fileSource)
.writeTo(Sinks.logger())
.onComplete(doSomething());
Edit :
Reference for the comment.
BatchStage stage = p.readFrom(source).map(transform);
stage.map(enrich)
.writeTo(Sinks.filesBuilder(folder1).build())
.onComplete(doSomething1());
stage.map(enrich2)
.aggregate(...)
.writeTo(Sinks.filesBuilder(folder2).build())
.onComplete(doSomething2());
解决方法
提交工作后:
JetInstance jet = ...
Job job = jet.newJob(p);
您可以检索与作业关联的CompletableFuture
,然后等待其完成。或者,您可以致电
job.join();
等效于
job.getFuture().join()
它将等待直到作业完成。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。