Прослушивание нескольких потоков в одном @StreamListener в Spring Cloud Stream Kinesis - PullRequest
0 голосов
/ 19 марта 2020

У меня есть несколько потоков Kinesis, которые мне нужно обработать. Есть ли возможность использовать только один метод @StreamListener?

Если есть, как настроить @StreamListener для этого?

1 Ответ

1 голос
/ 19 марта 2020

Вы действительно можете иметь несколько целевых адресатов на одной привязке:

spring.cloud.stream.bindings.input.destination=stream1,stream2,stream3

См. Документы по этому вопросу: https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/3.0.3.RELEASE/reference/html/spring-cloud-stream.html#binding -properties

destination

Целевой адрес привязки на связанном промежуточном программном обеспечении (например, обмен RabbitMQ или Kafka topi c). Если привязка представляет привязку потребителя (входную), она может быть привязана к нескольким получателям, а имена получателей могут быть указаны в виде значений String через запятую. Если нет, то вместо него используется фактическое имя привязки. Значение по умолчанию этого свойства не может быть переопределено.

С точки зрения кода делать нечего. Ваш @StreamListener просто слушает эту привязку input. Все остальное сделано за вас фреймворком.

...