在kafka-streams中,流上的branch()方法已被弃用。 我从 COnfluence 中找到了一些代码片段,我现在应该使用 split() 和 Branch() 方法,如下所示:
artikelEvents.split()
.branch((key, val) -> val.getKategorie().equals("Computer & Büro"), Branched.as("computer"))
.branch((key, val) -> val.getKategorie().equals("Smartphones"), Branched.as("smartphones"))
.branch((key, val) -> val.getKategorie().equals("Fotografie"), Branched.as("fotografie"))
;
我的问题是如何获得不同下游分支的结果?
好的,经过一番研究,我找到了一个适合我的解决方案:
final Map<String, KStream<String, ArtikelEvent>> branchedArtikelEventMap = artikelEvents.split(Named.as("branch-"))
.branch((key, val) -> val.getKategorie().equals("Computer & Büro"), Branched.as("computer"))
.branch((key, val) -> val.getKategorie().equals("Smartphones"), Branched.as("smartphones"))
.branch((key, val) -> val.getKategorie().equals("Fotografie"), Branched.as("fotografie"))
.defaultBranch();