Как создать продюсера с помощью Spring Cloud Kafka Stream 3.1

#java #spring #apache-kafka #spring-cloud-stream

#java #spring #apache-kafka #spring-cloud-stream

Вопрос:

Я знаю, как определить продюсера, используя подход императивного программирования, но я не могу найти, как определить продюсера, используя подход функционального программирования.

Я прочитал документацию Spring Cloud Stream Binder об этом, но нашел только, как определить потребителя или потребителя и производителя (например, получить информацию из темы, преобразовать данные и отправить в другую тему).

Итак, я не знаю, можно ли продолжать использовать аннотации, например @Input , @Ouptut для определения одного процессора или нет, я очень смущен на данный момент, потому что библиотека указывает, что эти аннотации устарели, но я не могу найти пример или документацию, чтобы определить простого производителя для отправки информации в определенную тему.

Спасибо!

Ссылка на документацию: https://docs.spring.io/spring-cloud-stream-binder-kafka/docs/3.0.10.RELEASE/reference/html/spring-cloud-stream-binder-kafka.html#_kafka_streams_binder

Ответ №1:

Вы можете определить Supplier<?> @Bean , который будет опрашиваться с интервалом для генерации выходных данных (например @InboundChannelAdapter , для @Output каналов.

https://docs.spring.io/spring-cloud-stream/docs/3.1.0/reference/html/spring-cloud-stream.html#spring_cloud_function

Или вы можете использовать a StreamBridge для отправки произвольных сообщений в конечный пункт назначения.

https://docs.spring.io/spring-cloud-stream/docs/3.1.0/reference/html/spring-cloud-stream.html#_sending_arbitrary_data_to_an_output_e_g_foreign_event_driven_sources