问题描述
我知道如何使用命令式编程方法定义生产者,但我找不到如何使用函数式编程方法定义生产者。
我阅读了关于这个的 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
,它将按间隔轮询以生成输出(如 @InboundChannelAdapter
通道的 @Output
。
或者,您可以使用 StreamBridge
将任意消息发送到输出目标。