显式绑定创建

本节详细描述了声明式创建绑定的方式。该框架还提供了创建绑定的程序化方法。更多内容 详情请参见“定义新绑定并管理现有绑定”spring-doc.cadn.net.cn

在上一节中,我们解释了绑定是如何由 的名称隐式驱动的功能,提供商消费者你的应用提供了豆子。 不过,有时你可能需要明确创建绑定,绑定不绑定任何函数。这通常被用于 支持与其他框架的集成,通过以下方式流桥.spring-doc.cadn.net.cn

Spring Cloud Stream 允许你通过以下方式明确定义输入和输出绑定Spring.cloud.stream.input-bindingsspring.cloud.stream.output-bindings性能。注意到属性名称中有复数,这让你只需用它作为分隔符就能定义多个绑定。 请看看以下测试案例作为示例:;spring-doc.cadn.net.cn

@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 {
}

如你所见,我们声明了两个输入绑定和两个输出绑定,而我们的配置中没有定义函数,但我们成功创建了这些绑定并访问了它们对应的通道。spring-doc.cadn.net.cn

功能性绑定名称不同,显式创建的绑定 不需要添加如入0/出0前提是:

所以Spring.cloud.stream.output-bindings=hello将导致你好(不是喂,出局-0你也可以进一步称之为Spring.cloud.stream.bindings.hello.destination=foobarspring-doc.cadn.net.cn