显式绑定创建
本节详细描述了声明式创建绑定的方式。该框架还提供了创建绑定的程序化方法。更多内容 详情请参见“定义新绑定并管理现有绑定”
在上一节中,我们解释了绑定是如何由 的名称隐式驱动的功能,提供商或消费者你的应用提供了豆子。
不过,有时你可能需要明确创建绑定,绑定不绑定任何函数。这通常被用于
支持与其他框架的集成,通过以下方式流桥.
Spring Cloud Stream 允许你通过以下方式明确定义输入和输出绑定Spring.cloud.stream.input-bindings和spring.cloud.stream.output-bindings性能。注意到属性名称中有复数,这让你只需用它作为分隔符就能定义多个绑定。
请看看以下测试案例作为示例:;
@Test
public void testExplicitBindings() {
try (ConfigurableApplicationContext context = new SpringApplicationBuilder(
TestChannelBinderConfiguration.getCompleteConfiguration(EmptyConfiguration.class))
.web(WebApplicationType.NONE)
.run("--spring.jmx.enabled=false",
"--spring.cloud.stream.input-bindings=fooin;barin",
"--spring.cloud.stream.output-bindings=fooout;barout")) {
. . .
}
}
@EnableAutoConfiguration
@Configuration
public static class EmptyConfiguration {
}
如你所见,我们声明了两个输入绑定和两个输出绑定,而我们的配置中没有定义函数,但我们成功创建了这些绑定并访问了它们对应的通道。
与功能性绑定名称不同,显式创建的绑定
不需要添加如入0/出0前提是: |
-
绑定名称没有函数支持
-
它已经代表输入或输出绑定,定义上如此
-
它不能有超过一个输入或输出。
所以Spring.cloud.stream.output-bindings=hello将导致你好(不是喂,出局-0你也可以进一步称之为Spring.cloud.stream.bindings.hello.destination=foobar