此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4! |
绑定
如前所述,Bindings 在外部消息传递系统(例如,队列、主题等)和应用程序提供的 Producer 和 Consumer 之间架起了一座桥梁。
以下示例显示了一个完全配置且正常运行的 Spring Cloud Stream 应用程序,该应用程序接收消息的有效负载
作为类型(请参阅 内容类型协商 部分),将其记录到控制台,并在将其转换为大写后将其发送到下游。String
@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 应用程序没有什么不同。它定义了一个类型的 bean,仅此而已。那么,它是如何成为 spring-cloud-stream 应用程序的呢?
它成为 spring-cloud-stream 应用程序,仅仅是因为存在 spring-cloud-stream 和 binder 依赖项
和 auto-configuration 类,有效地将 boot 应用程序的上下文设置为 spring-cloud-stream 应用程序。
在此上下文中,类型的 bean 或 被视为事实上的消息处理程序触发
绑定到提供的 Binder 按照某些命名约定公开的目标,并且
规则来避免额外的配置。Function
Supplier
Function
Consumer