[英]Spring and Kafka: Join 3 Kafka topics to generate output Kafka streams
[英]Kafka streams, branched output to multiple topics
在我的基於DSL的轉換中,我有一個流 - >分支,我希望分支輸出重定向到多個主題。 當前branch.to()
方法僅接受String
。 有沒有使用stream.branch
簡單選項,我可以將結果路由到多個主題。 對於消費者,我可以通過提供字符串數組作為主題來訂閱多個主題。
如果特定謂詞滿足查詢,我的問題需要我采取多個操作。
我嘗試使用stream.branch[index].to(string)
,但這還不足以滿足我的要求。 我正在尋找像stream.branch[index].to(string array of topics)
或stream.branch[index].to(string)
。
我期望branch.to
方法有多個主題,或者是否有任何替代方法來實現與流相同的方法?
添加示例代碼。刪除實際變量名稱。
我的謂詞
Predicate <String, MyDomainObject> Predicate1 = new Predicate<String, MyDomainObject>() {
@Override
public boolean test(String key, MyDomainObject domObj) {
boolean result = false;
if condition on domObj
return result;
}
};
Predicate <String, MyDomainObject> Predicate2 = new Predicate<String, MyDomainObject>() {
@Override
public boolean test(String key, MyDomainObject domObj) {
boolean result = false;
if condition on domObj
return result;
}
};
KStream <String, MyDomainObject>[] branches= myStream.branch(
Predicate1, Predicate2
);
// here I need your suggestions.
// this is my current implementation
branches[0].to(singleTopic),
Produced.with(Serdes.String(), Serdes.serdeFrom(inSer, deSer)));
// I want to send notification to multiple topics. something like below
branches[0].to(topicList),
Produced.with(Serdes.String(), Serdes.serdeFrom(inSer, deSer)));
如果您知道要將數據發送到哪些主題,則可以執行以下操作:
branches[0].to("first-topic");
branches[0].to("second-topic");
// etc.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.