...
Code Block | ||
---|---|---|
| ||
source .branch() .branch((key, value) -> value.contains("A"), ks->ks.to("A")) .branch((key, value) -> value.contains("B"), ks->ks.to("B")) .defaultdefaultBranch(ks->ks.to("C")); |
Here the new KStream#branch() method returns KBranchedStream<K, V> object, which, in turn, contains `branch` and `default` `defaultBranch` methods.
This is critical that KStream consumers in .branch methods should be invoked immediately during the `branch` methods invocation. This is necessary for the case when we need to gather the streams that were defined in separate scopes back into one scope using auxiliary object:
...