Весенний кафка бобов возврат типов - PullRequest
0 голосов
/ 22 марта 2019

Документация по поддержке потоков Spring Kafka показывает что-то вроде:

@Bean
public KStream<Integer, String> kStream(StreamsBuilder kStreamBuilder) {
    KStream<Integer, String> stream = kStreamBuilder.stream("streamingTopic1");
// ... stream config
    return stream;
}

Однако я мог бы хотеть, чтобы топология зависела от нескольких потоков или таблиц.Могу ли я сделать:

@Bean
public KStream<Integer, String> kStream(StreamsBuilder kStreamBuilder) {
    KStream<Integer, String> stream1 = kStreamBuilder.stream("streamingTopic1");
    KStream<Integer, String> stream2 = kStreamBuilder.stream("streamingTopic1");
// ... stream config
    return stream;
}

Другими словами, релевантен ли возвращаемый боб или важно только, чтобы kStreamBuilder был мутирован?

1 Ответ

1 голос
/ 22 марта 2019

Это зависит.

Если вам не нужна ссылка на KStream в другом месте, вам вообще не нужно определять его как компонент, вы можете автоматически подключить StreamsBuilder, созданный фабричным компонентом.

Если вам нужна ссылка, то каждый из них должен быть своим собственным компонентом.

Например, Spring Cloud Stream создает частичный поток, который затем модифицирует приложение. Смотрите здесь .

...