如何使用Spring Cloud Kafka Stream 3.1创建制片人

人气:226 发布:2023-01-03 标签: 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

推荐答案

您可以定义Supplier<?>@Bean,该Supplier<?>@Bean将按时间间隔轮询以生成输出(如@Output频道的@InboundChannelAdapter

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

或者,您可以使用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

21