spring.cloud.stream.source真正做什么?



我想了解Spring Cloud Streams的新功能模型是如何工作的,以及配置在引子下是如何工作的。

我无法弄清楚的一个属性是spring.cloud.stream.source

这个属性到底是什么意思?

我看不懂文档:

注意,前面的例子没有定义任何源函数(例如,Supplier bean)使框架没有创建触发器源绑定,这对于配置包含函数bean。因此,要触发源绑定的创建我们使用spring.cloud.stream.source属性,你可以在其中声明你的消息来源的名字。所提供的名称将用作触发器创建一个源绑定。

如果我不需要Supplier怎么办?

源绑定到底是什么?它为什么重要?

如果我只想生成一个消息传递主题怎么办?我还需要这个属性吗?

我也不明白它在这里的样本中是如何使用的。

Spring cloud stream查找java.utilFunction<?, ?,Consumer<?>,Supplier<?>bean并为它们创建绑定。

在供应商的情况下,框架轮询供应商(默认每秒)并发送结果数据。

例如

@Bean
public Supplier<String> output() {
return () -> "foo";
}
spring.cloud.stream.bindings.output-out-0.destination=bar

将每秒发送foo到目的bar

但是,如果你不需要轮询源,但你想配置一个绑定,你可以发送任意数据。输入"spring.cloud.stream.source">

spring.cloud.stream.source=output
spring.cloud.stream.bindings.output-out-0.destination=bar

允许你发送任意数据到流桥

bridge.send("output-out-0", "test");

换句话说,它允许您配置一个或多个可以在StreamBridge中使用的输出绑定;否则,当您发送到桥接时,绑定是动态创建的。

相关内容

  • 没有找到相关文章

最新更新