|
4 | 4 | import java.util.List; |
5 | 5 | import java.util.regex.Pattern; |
6 | 6 | import org.apache.kafka.streams.StreamsBuilder; |
7 | | -import org.apache.kafka.streams.Topology; |
8 | 7 | import org.apache.kafka.streams.kstream.Consumed; |
9 | 8 | import org.apache.kafka.streams.kstream.KStream; |
10 | 9 | import org.apache.kafka.streams.processor.api.ProcessorSupplier; |
11 | 10 |
|
12 | 11 | public class StreamsBuilderWithInterceptor extends StreamsBuilder { |
13 | 12 |
|
14 | | - private final StreamsBuilder delegate; |
15 | 13 | private final List<ProcessorSupplier> processorSuppliers; |
16 | 14 |
|
17 | | - public StreamsBuilderWithInterceptor( |
18 | | - StreamsBuilder delegate, List<ProcessorSupplier> processorSuppliers) { |
19 | | - this.delegate = delegate; |
| 15 | + public StreamsBuilderWithInterceptor(List<ProcessorSupplier> processorSuppliers) { |
20 | 16 | this.processorSuppliers = processorSuppliers; |
21 | 17 | } |
22 | 18 |
|
23 | | - @Override |
24 | | - public synchronized Topology build() { |
25 | | - return delegate.build(); |
26 | | - } |
27 | | - |
28 | 19 | @Override |
29 | 20 | public synchronized <K, V> KStream<K, V> stream( |
30 | 21 | final Pattern topicPattern, final Consumed<K, V> consumed) { |
31 | | - KStream<K, V> stream = delegate.stream(topicPattern, consumed); |
| 22 | + KStream<K, V> stream = super.stream(topicPattern, consumed); |
32 | 23 | processorSuppliers.forEach(stream::process); |
33 | 24 | return stream; |
34 | 25 | } |
35 | 26 |
|
36 | 27 | @Override |
37 | 28 | public synchronized <K, V> KStream<K, V> stream( |
38 | 29 | final Collection<String> topics, final Consumed<K, V> consumed) { |
39 | | - KStream<K, V> stream = delegate.stream(topics, consumed); |
| 30 | + KStream<K, V> stream = super.stream(topics, consumed); |
40 | 31 | processorSuppliers.forEach(stream::process); |
41 | 32 | return stream; |
42 | 33 | } |
|
0 commit comments