【发布时间】:2023-04-01 04:34:02
【问题描述】:
如何在 Spring Cloud Stream 功能模型中创建生产者?
以下版本现已弃用。
@Output(OUTPUT)
MessageChannel outbound();
我知道可以通过javaSupplier函数类来实现,但是它会每隔一秒发送一次消息。我不需要它每秒发送一次。我打算用 Kafka 替换 REST API。
有没有办法做到这一点?
【问题讨论】:
如何在 Spring Cloud Stream 功能模型中创建生产者?
以下版本现已弃用。
@Output(OUTPUT)
MessageChannel outbound();
我知道可以通过javaSupplier函数类来实现,但是它会每隔一秒发送一次消息。我不需要它每秒发送一次。我打算用 Kafka 替换 REST API。
有没有办法做到这一点?
【问题讨论】:
使用StreamBridge - 请参阅Sending data to an arbitrary output。
这里我们自动装配一个
StreamBridgebean,它允许我们将数据发送到输出绑定,有效地将非流应用程序与spring-cloud-stream连接起来。请注意,前面的示例没有定义任何源函数(例如,Supplierbean)使框架没有触发器来创建源绑定,这对于配置包含函数 bean 的情况很典型。因此,为了触发源绑定的创建,我们使用spring.cloud.stream.source属性,您可以在其中声明源的名称。
【讨论】:
如果您想从外部 Kafka 主题触发流,您还可以将 Spring Cloud Steam 处理器的输入绑定到该主题。流桥提供了一个可能更干净的抽象层,即您的非流应用程序不直接使用 Kafka API。
【讨论】: