@@ -56,4 +56,41 @@ java -jar build/libs/creating-first-apache-kafka-streams-application-*.jar confi
56
56
* [ official kafka streams] ( https://kafka.apache.org/documentation/streams/ )
57
57
* [ write application] ( https://kafka.apache.org/37/documentation/streams/tutorial )
58
58
* [ quarkus kafka stream] ( https://quarkus.io/guides/kafka-streams )
59
-
59
+
60
+
61
+ ### snippet: branch vs parallel
62
+ ``` java
63
+ public StreamsBuilder buildTopology(StreamsBuilder builder) {
64
+
65
+ Serde<String > stringSerde = Serdes . String();
66
+
67
+ KStream<String , String > inputStream = builder. stream(this . inputTopic, Consumed . with(stringSerde, stringSerde));
68
+ // BranchedKStream<String, String> splitedStream = builder
69
+ // .stream(this.inputTopic,
70
+ // Consumed.with(
71
+ // stringSerde,
72
+ // stringSerde))
73
+ // .split();
74
+
75
+ for (String eachKey : configLoader. getAllAccessibleKeys()) {
76
+ ObjectConfig eachConfig = configLoader. getConfig(eachKey);
77
+ .to(eachConfig. outputTopic(), Produced . with(stringSerde, stringSerde));
78
+ // splitedStream.branch((k, jsonBody) -> ruleEvaluation(eachConfig.rule(), jsonBody),
79
+ // Branched.withConsumer(stream -> stream
80
+ // .to(eachConfig.outputTopic(), Produced.with(stringSerde, stringSerde))
81
+ // )
82
+ // );
83
+ }
84
+
85
+
86
+ private boolean ruleEvaluation(String rule, String jsonBody) {
87
+ try {
88
+ return ruleEvaluation(
89
+ rule,
90
+ new ObjectMapper (). readValue(jsonBody, Map . class));
91
+ }catch (JsonProcessingException e) {
92
+ logger. error(" Error during rule evaluation: " + rule + " for message: " + jsonBody, e);
93
+ return false ;
94
+ }
95
+
96
+ ```
0 commit comments