У меня есть несколько потоков Kinesis, которые мне нужно обработать. Есть ли возможность использовать только один метод @StreamListener?
Если есть, как настроить @StreamListener для этого?
Вы действительно можете иметь несколько целевых адресатов на одной привязке:
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 через запятую. Если нет, то вместо него используется фактическое имя привязки. Значение по умолчанию этого свойства не может быть переопределено.
destination
Целевой адрес привязки на связанном промежуточном программном обеспечении (например, обмен RabbitMQ или Kafka topi c). Если привязка представляет привязку потребителя (входную), она может быть привязана к нескольким получателям, а имена получателей могут быть указаны в виде значений String через запятую. Если нет, то вместо него используется фактическое имя привязки. Значение по умолчанию этого свойства не может быть переопределено.
С точки зрения кода делать нечего. Ваш @StreamListener просто слушает эту привязку input. Все остальное сделано за вас фреймворком.
@StreamListener
input