对于最新稳定版本,请使用spring-cloud-stream 5.0.1spring-doc.cadn.net.cn

Bindings

如前所述,绑定提供了外部消息传递系统(例如,队列、主题等)与应用程序提供的生产者消费者之间的桥梁。spring-doc.cadn.net.cn

下面的示例展示了如何完全配置并运行一个Spring Cloud Stream应用程序,它接收消息的有效负载作为0类型(请参阅Content Type Negotiation(内容类型协商)部分),将其记录到控制台,然后在转换为大写后发送到下游。
spring-doc.cadn.net.cn

@SpringBootApplication
public class SampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SampleApplication.class, args);
	}

	@Bean
	public Function<String, String> uppercase() {
	    return value -> {
	        System.out.println("Received: " + value);
	        return value.toUpperCase();
	    };
	}
}

该示例看起来与任何vanilla spring-boot应用程序一样。它定义了一个类型为Function的单个bean,仅此而已。它是如何成为spring-cloud-stream应用程序的? 它成为spring-cloud-stream应用程序只是因为classpath上spring-cloud-stream和绑定程序依赖项以及自动配置类的存在,有效地将boot应用程序的上下文设置为spring-cloud-stream应用程序。并且在这种上下文中,类型为SupplierFunctionConsumer的bean被作为消息处理器处理,触发由提供的绑定器公开的目的地的绑定,遵循某些命名约定和避免额外配置的规则来避免额外的配置。spring-doc.cadn.net.cn