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

绑定

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

以下示例显示了一个完全配置且正常运行的 Spring Cloud Stream 应用程序,该应用程序接收消息的有效负载 作为String类型(请参阅内容类型协商部分),将其记录到控制台,并在转换为大写后向下游发送。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();
	    };
	}
}

上面的例子看起来与任何普通的 spring-boot 应用程序没有什么不同。它定义了类型为Function就是这样。那么,它是如何成为 spring-cloud-stream 应用程序的呢? 它之所以成为 spring-cloud-stream 应用程序,仅仅是因为存在 spring-cloud-stream 和 binder 依赖项 以及类路径上的自动配置类,有效地将引导应用程序的上下文设置为 spring-cloud-stream 应用程序。 在这种情况下,类型为Supplier,FunctionConsumer被视为事实上的消息处理程序触发 绑定到提供的活页夹公开的目标,遵循某些命名约定,以及 规则以避免额外的配置。spring-doc.cadn.net.cn