ng.*_*bie 5 java spring spring-boot spring-cloud-stream
我试图了解新的功能模型如何Spring Cloud Streams
工作以及配置在幕后如何实际工作。
我无法弄清楚的属性之一是spring.cloud.stream.source
.
这个属性实际上意味着什么?
我无法理解文档:
请注意,前面的示例没有定义任何源函数(例如,Supplier bean),从而使框架没有触发器来创建源绑定,这对于配置包含函数 bean 的情况来说是典型的。因此,为了触发源绑定的创建,我们使用 spring.cloud.stream.source 属性,您可以在其中声明源的名称。提供的名称将用作创建源绑定的触发器。
如果我不需要怎么办Supplier
?
源绑定到底是什么?为什么它很重要?
如果我只想生成消息传递主题怎么办?我还需要这个房产吗?
我也无法理解它是如何在此处的示例中使用的。
Spring Cloud Stream 查找java.util
Function<?, ?
、Consumer<?>
、Supplier<?>
beans 并为它们创建绑定。
在供应商情况下,框架轮询供应商(默认情况下每秒一次)并发送结果数据。
例如
@Bean
public Supplier<String> output() {
return () -> "foo";
}
Run Code Online (Sandbox Code Playgroud)
spring.cloud.stream.bindings.output-out-0.destination=bar
Run Code Online (Sandbox Code Playgroud)
每秒发送foo
到目的地。bar
但是,如果您不需要轮询源,但想要配置可以向其发送任意数据的绑定,该怎么办?进入spring.cloud.stream.source
。
spring.cloud.stream.source=output
spring.cloud.stream.bindings.output-out-0.destination=bar
Run Code Online (Sandbox Code Playgroud)
允许您将任意数据发送到流桥
bridge.send("output-out-0", "test");
Run Code Online (Sandbox Code Playgroud)
换句话说,它允许您配置一个或多个可在StreamBridge
;中使用的输出绑定。否则,当您发送到网桥时,会动态创建绑定。
归档时间: |
|
查看次数: |
1672 次 |
最近记录: |